diff --git a/.gitattributes b/.gitattributes
index 94b635c8..8b58c39d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4,3 +4,4 @@
*.godot eol=lf
*.tres eol=lf
*.import eol=lf
+*.gdshader eol=lf
diff --git a/.github/workflows/build-on-push.yml b/.github/workflows/build-on-push.yml
index 75d90d51..240ac123 100644
--- a/.github/workflows/build-on-push.yml
+++ b/.github/workflows/build-on-push.yml
@@ -28,11 +28,6 @@ jobs:
cp demo/godot-xr-tools/VERSIONS.md plugin/godot-xr-tools/addons/godot-xr-tools
rm -rf demo/godot-xr-tools/.git
rm -rf demo/godot-xr-tools/.github
- - name: Add OpenXR Plugin
- run: |
- wget --header "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "https://github.com/GodotVR/godot_openxr/releases/download/1.3.0/godot-openxr.zip"
- unzip -qq godot-openxr.zip
- cp -r godot_openxr_1.3.0/addons/godot-openxr demo/godot-xr-tools/addons
- name: Create XR tools library artifact
uses: actions/upload-artifact@v2
with:
diff --git a/.github/workflows/gdlint-on-push.yml b/.github/workflows/gdlint-on-push.yml
index b0efc009..536d57d7 100644
--- a/.github/workflows/gdlint-on-push.yml
+++ b/.github/workflows/gdlint-on-push.yml
@@ -19,7 +19,8 @@ jobs:
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
- python -m pip install 'gdtoolkit==3.*'
+ python -m pip install 'gdtoolkit==4.*'
- name: Lint Godot XR Tools
run: |
gdlint addons/godot-xr-tools
+
diff --git a/.gitignore b/.gitignore
index 3807a7c3..887f3a04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,12 @@
-# Godot files to ignore
+*.o
+*.os
.import/
-
-# Filesystem files to ignore
+.godot/
+*.dblite
+*.exp
+*.lib
+*.obj
+*.TMP
logs
Thumbs.db
-.DS_Store
-
-# Addons sourced externally
-addons/godot-openxr/
-
-# Blender backup files
-*.blend1
+android/
diff --git a/LICENSE b/LICENSE
index e55a66ac..f8f1c828 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2018-2023 Bastiaan Olij
+Copyright (c) 2018-2023 Bastiaan Olij and Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index b8760846..bebfa757 100644
--- a/README.md
+++ b/README.md
@@ -28,15 +28,17 @@ This repository now contains a full demo for XR Tools with the XR Tools add on i
After cloning this repository you will need to install the OpenXR plugin for it to work. The OpenXR plugin is not included within this repository.
You can obtain the OpenXR plugin [here](https://github.com/GodotVR/godot_openxr/releases) or download it from the asset library within Godot.
+Note that the demo in the 4.0-dev branch has been upgraded to work with the most recent 4.0-beta releases.
+
### XR Tools library
To obtain just the XR Tools library for your own project, please check [releases](https://github.com/GodotVR/godot-xr-tools/releases) or download it from the asset library within Godot.
-### Preventing hiccups
+### Preventing hickups
-As many of the functions in this module will hide objects that are later shown as the user performs actions, the user will experience a hiccup as Godot compiles the shader used to draw the object on screen.
+As many of the functions in this module will hide objects that are later shown as the user performs actions, the user will experience a hickup as Godot compiles the shader used to draw the object on screen.
-To combat this you will find a scene in this module called `misc/vr_common_shader_cache.tscn`.
+To combat this you will find a scene in this module called `misc/VR_Common_Shader_Cache.tscn`.
Add this scene as a child node to your ARVRCamera. This will trigger the required shaders being
compiled the first time your main scene loads.
diff --git a/VERSIONS.md b/VERSIONS.md
index ff100907..e5da9f2c 100644
--- a/VERSIONS.md
+++ b/VERSIONS.md
@@ -1,3 +1,9 @@
+# 4.0.0
+- Conversion to Godot 4
+- Fixed footstep resource leak and added jump sounds and footstep signal
+- Added grab-point switching to pickable objects
+- Added return-to-snap-zone feature
+
# 3.4.0
- Fixed footstep resource leak and added jump sounds and footstep signal
- Added grab-point switching to pickable objects
diff --git a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import
index 4aebaa09..172212e6 100644
--- a/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import
+++ b/addons/godot-xr-tools/assets/misc/Hold trigger to continue.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.stex"
-path.etc="res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc.stex"
+type="CompressedTexture2D"
+uid="uid://ocyj01x5mtt7"
+path.s3tc="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex"
+path.etc2="res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png"
-dest_files=[ "res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.stex", "res://.import/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc.stex" ]
+dest_files=["res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.s3tc.ctex", "res://.godot/imported/Hold trigger to continue.png-ce0a3a4de13c262f7015326bad2cb09d.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/assets/misc/progress_bar.png.import b/addons/godot-xr-tools/assets/misc/progress_bar.png.import
index 9c5c3938..45517bb7 100644
--- a/addons/godot-xr-tools/assets/misc/progress_bar.png.import
+++ b/addons/godot-xr-tools/assets/misc/progress_bar.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.stex"
-path.etc="res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc.stex"
+type="CompressedTexture2D"
+uid="uid://clbtsf0ahb3fm"
+path.s3tc="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex"
+path.etc2="res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/assets/misc/progress_bar.png"
-dest_files=[ "res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.stex", "res://.import/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc.stex" ]
+dest_files=["res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.s3tc.ctex", "res://.godot/imported/progress_bar.png-2ef3cbffca173889900be004fdeb1700.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd b/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd
deleted file mode 100644
index 9822fb4c..00000000
--- a/addons/godot-xr-tools/assets/resource_queue/resource_queue.gd
+++ /dev/null
@@ -1,221 +0,0 @@
-class_name XRToolsResourceQueue
-extends Node
-
-
-## XRTools Threaded Resource Loader
-##
-## This class can be used to perform resource loading in the background without
-## interrupting the application.
-
-
-# Thread to perform the loading
-var _thread : Thread
-
-# Mutex for safe synchronization
-var _mutex : Mutex
-
-# Semaphore to wake up the loader thread
-var _semaphore : Semaphore
-
-# Thread exit flag
-var _exit_thread : bool = false
-
-# Queue of ResourceInteractiveLoader instances loading resources
-var _queue = []
-
-# Dictionary of pending results by resource path.
-#
-# If the resource is still loading then the value is a ResourceInteractiveLoader.
-# If the resource has loaded then the value is a Resource.
-var _pending = {}
-
-
-## Queue the loading of a resource
-func queue_resource(path : String, p_in_front : bool = false) -> void:
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Test if the resource has already been queued
- if path in _pending:
- # Work already queued, nothing to do.
- _mutex.unlock()
- return
-
- # Test if the ResourceLoader already has it cached
- if ResourceLoader.has_cached(path):
- # Put the resource in the pending-results dictionary
- _pending[path] = ResourceLoader.load(path)
- _mutex.unlock()
- return
-
- # Construct a ResourceInteractiveLoader for the resource
- var loader = ResourceLoader.load_interactive(path)
-
- # Save the resource path in the metadata for later use
- loader.set_meta("path", path)
-
- # Insert into the loading-queue (front for high priority)
- if p_in_front:
- _queue.push_front(loader)
- else:
- _queue.push_back(loader)
-
- # Save the loader in the pending-results dictionary
- _pending[path] = loader
-
- # Post the semaphore to wake the worker thread
- _mutex.unlock()
- _semaphore.post()
-
-
-## Cancel loading a resource
-func cancel_resource(path : String) -> void:
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Inspect the pending-results dictionary
- if path in _pending:
- # Extract the item from the pending-results dictionary
- var item = _pending[path]
- _pending.erase(path)
-
- # If the item is still being loaded then remove it from the loading-queue
- if item is ResourceInteractiveLoader:
- _queue.erase(item)
-
- # Loading cancelled
- _mutex.unlock()
-
-
-## Get the progress of a loading resource
-func get_progress(path : String) -> float:
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Inspect the pending results dictionary for the progress
- var progress := -1.0
- if path in _pending:
- var item = _pending[path]
- if item is ResourceInteractiveLoader:
- # The item is still loading, calculate the progress
- progress = float(item.get_stage()) / float(item.get_stage_count())
- else:
- # The item is fully loaded
- progress = 1.0
-
- # Return the progress
- _mutex.unlock()
- return progress
-
-
-## Test if a resouece is ready
-func is_ready(path : String) -> bool:
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Inspect the pending results dictionary for the ready status
- var ready := false
- if path in _pending:
- var item = _pending[path]
- ready = not item is ResourceInteractiveLoader
-
- # Return the ready status
- _mutex.unlock()
- return ready
-
-
-## Get the resource
-func get_resource(path : String) -> Resource:
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Test if the resource is unknown
- if not path in _pending:
- # Not queued, just load immediately
- _mutex.unlock()
- return ResourceLoader.load(path)
-
- # Loop waiting for resource to load
- var res
- while true:
- # Get the item from the pending-results dictionary
- res = _pending[path]
-
- # Detect loading complete
- if res == null or res is Resource:
- break
-
- # Give thread more time to load the item
- _mutex.unlock()
- OS.delay_usec(16000) # Wait approximately 1 frame.
- _mutex.lock();
-
- _pending.erase(path)
- _mutex.unlock()
- return res
-
-
-## Start the resource queue
-func start():
- _mutex = Mutex.new()
- _semaphore = Semaphore.new()
- _thread = Thread.new()
- _thread.start(self, "_thread_func", 0)
-
-
-# Triggered by calling "get_tree().quit()".
-func _exit_tree():
- _mutex.lock()
- _exit_thread = true # Protect with Mutex.
- _mutex.unlock()
-
- # Wake the worker thread
- _semaphore.post()
-
- # Wait until it exits.
- _thread.wait_to_finish()
-
-
-# Thread worker function
-func _thread_func(_u):
- # Lock the synchronization mutex
- _mutex.lock()
-
- # Loop processing work
- while true:
- # Handle a request to terminate
- if _exit_thread:
- _mutex.unlock()
- return
-
- # Handle no work
- if _queue.size() == 0:
- # Wait for work (with the mutex unlocked so work can be added)
- _mutex.unlock()
- _semaphore.wait()
- _mutex.lock()
- continue
-
- # Get the loader
- var loader : ResourceInteractiveLoader = _queue.front()
-
- # Poll the loader (with the mutex unlocked)
- _mutex.unlock()
- var err = loader.poll()
- _mutex.lock()
-
- # If loader is still busy then continue
- if err == OK:
- continue
-
- # Remove from the loading-queue. Note that something may have been
- # put at the front of the queue while we polled, so use erase instead
- # of remove
- _queue.erase(loader)
-
- # Get the resource path from the loaders metadata
- var path : String = loader.get_meta("path")
-
- # If the result is still pending then update it with the resource
- if path in _pending:
- _pending[path] = loader.get_resource()
diff --git a/addons/godot-xr-tools/audio/surface_audio.gd b/addons/godot-xr-tools/audio/surface_audio.gd
index bbd1dffc..9d339c43 100644
--- a/addons/godot-xr-tools/audio/surface_audio.gd
+++ b/addons/godot-xr-tools/audio/surface_audio.gd
@@ -1,5 +1,6 @@
-tool
-class_name XRToolsSurfaceAudio, "res://addons/godot-xr-tools/editor/icons/foot.svg"
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/foot.svg")
+class_name XRToolsSurfaceAudio
extends Node
@@ -11,23 +12,21 @@ extends Node
## XRToolsSurfaceAudioType to associate with this surface
-export var surface_audio_type : Resource
+@export var surface_audio_type : XRToolsSurfaceAudioType
# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsSurfaceAudio" or .is_class(name)
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsSurfaceAudio"
# This method checks for configuration issues.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify the camera
if !surface_audio_type:
- return "Surface audio type not specified"
-
- # Verify hit sound
- if !surface_audio_type is XRToolsSurfaceAudioType:
- return "Surface audio type is not an XRToolsSurfaceAudioType"
+ warnings.append("Surface audio type not specified")
- # No configuration issues detected
- return ""
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/audio/surface_audio_type.gd b/addons/godot-xr-tools/audio/surface_audio_type.gd
index 209aae0e..f991d74f 100644
--- a/addons/godot-xr-tools/audio/surface_audio_type.gd
+++ b/addons/godot-xr-tools/audio/surface_audio_type.gd
@@ -1,5 +1,6 @@
-tool
-class_name XRToolsSurfaceAudioType, "res://addons/godot-xr-tools/editor/icons/body.svg"
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/body.svg")
+class_name XRToolsSurfaceAudioType
extends Resource
@@ -10,29 +11,31 @@ extends Resource
## Surface name
-export var name : String = ""
+@export var name : String = ""
## Optional audio stream to play when the player jumps on this surface
-export var jump_sound : AudioStream
+@export var jump_sound : AudioStream
## Optional audio stream to play when the player lands on this surface
-export var hit_sound : AudioStream
+@export var hit_sound : AudioStream
## Audio streams to play when the player walks on this surface
-export(Array, AudioStream) var walk_sounds : Array = []
+@export var walk_sounds :Array[AudioStream] = []
## Walking sound minimum pitch (to randomize steps)
-export(float, 0.5, 1.0) var walk_pitch_minimum : float = 0.8
+@export_range(0.5, 1.0) var walk_pitch_minimum : float = 0.8
## Walking sound maximum pitch (to randomize steps)
-export(float, 1.0, 2.0) var walk_pitch_maximum : float = 1.2
+@export_range(1.0, 2.0) var walk_pitch_maximum : float = 1.2
# This method checks for configuration issues.
-func _get_configuration_warning():
- # Verify the name
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
+ # Verify the camera
if name == "":
- return "Surface audio type must have a name"
+ warnings.append("Surface audio type must have a name")
- # No configuration issues detected
- return ""
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/editor/icons/body.svg.import b/addons/godot-xr-tools/editor/icons/body.svg.import
index 1e8d1742..787be507 100644
--- a/addons/godot-xr-tools/editor/icons/body.svg.import
+++ b/addons/godot-xr-tools/editor/icons/body.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/body.svg-324e141d452c32f3136ca97c338025b4.stex"
+type="CompressedTexture2D"
+uid="uid://cyg33jxco0rh6"
+path="res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/body.svg"
-dest_files=[ "res://.import/body.svg-324e141d452c32f3136ca97c338025b4.stex" ]
+dest_files=["res://.godot/imported/body.svg-324e141d452c32f3136ca97c338025b4.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/editor/icons/foot.svg.import b/addons/godot-xr-tools/editor/icons/foot.svg.import
index dfeeede1..15c8f098 100644
--- a/addons/godot-xr-tools/editor/icons/foot.svg.import
+++ b/addons/godot-xr-tools/editor/icons/foot.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/foot.svg-9e361563e010aa07be49bfb25fdb6639.stex"
+type="CompressedTexture2D"
+uid="uid://bfkcd3fkyahqu"
+path="res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/foot.svg"
-dest_files=[ "res://.import/foot.svg-9e361563e010aa07be49bfb25fdb6639.stex" ]
+dest_files=["res://.godot/imported/foot.svg-9e361563e010aa07be49bfb25fdb6639.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/editor/icons/function.svg.import b/addons/godot-xr-tools/editor/icons/function.svg.import
index 3994debd..2e4ed639 100644
--- a/addons/godot-xr-tools/editor/icons/function.svg.import
+++ b/addons/godot-xr-tools/editor/icons/function.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.stex"
+type="CompressedTexture2D"
+uid="uid://b5vxil50s0ofi"
+path="res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/function.svg"
-dest_files=[ "res://.import/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.stex" ]
+dest_files=["res://.godot/imported/function.svg-52c5f936037e0f38a4da2b1e16ae67fe.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/editor/icons/hand.svg.import b/addons/godot-xr-tools/editor/icons/hand.svg.import
index bb4a971d..c59f938f 100644
--- a/addons/godot-xr-tools/editor/icons/hand.svg.import
+++ b/addons/godot-xr-tools/editor/icons/hand.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/hand.svg-a05486d804ef16320d6cf54e06292b8f.stex"
+type="CompressedTexture2D"
+uid="uid://beko1qhyybx7e"
+path="res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/hand.svg"
-dest_files=[ "res://.import/hand.svg-a05486d804ef16320d6cf54e06292b8f.stex" ]
+dest_files=["res://.godot/imported/hand.svg-a05486d804ef16320d6cf54e06292b8f.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/editor/icons/movement_provider.svg.import b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import
index 877a3580..65c9b74a 100644
--- a/addons/godot-xr-tools/editor/icons/movement_provider.svg.import
+++ b/addons/godot-xr-tools/editor/icons/movement_provider.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.stex"
+type="CompressedTexture2D"
+uid="uid://04fn15h4x333"
+path="res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/movement_provider.svg"
-dest_files=[ "res://.import/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.stex" ]
+dest_files=["res://.godot/imported/movement_provider.svg-3c994cf0a3775c20f333be563d69fbf8.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/editor/icons/node.svg.import b/addons/godot-xr-tools/editor/icons/node.svg.import
index 49ae5fa7..87553f5a 100644
--- a/addons/godot-xr-tools/editor/icons/node.svg.import
+++ b/addons/godot-xr-tools/editor/icons/node.svg.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/node.svg-37d53571b4a4459efefcc791c5402b4f.stex"
+type="CompressedTexture2D"
+uid="uid://b6gwa6o27pbry"
+path="res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,27 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/editor/icons/node.svg"
-dest_files=[ "res://.import/node.svg-37d53571b4a4459efefcc791c5402b4f.stex" ]
+dest_files=["res://.godot/imported/node.svg-37d53571b4a4459efefcc791c5402b4f.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/addons/godot-xr-tools/effects/vignette.gd b/addons/godot-xr-tools/effects/vignette.gd
index e4e7e758..c8bb62a5 100644
--- a/addons/godot-xr-tools/effects/vignette.gd
+++ b/addons/godot-xr-tools/effects/vignette.gd
@@ -1,26 +1,26 @@
-tool
+@tool
class_name XRToolsVignette
-extends Spatial
+extends Node3D
-export var radius : float = 1.0 setget set_radius
-export var fade : float = 0.05 setget set_fade
-export var steps : int = 32 setget set_steps
+@export var radius : float = 1.0: set = set_radius
+@export var fade : float = 0.05: set = set_fade
+@export var steps : int = 32: set = set_steps
-export var auto_adjust : bool = true setget set_auto_adjust
-export var auto_inner_radius : float = 0.35
-export var auto_fade_out_factor : float = 1.5
-export var auto_fade_delay : float = 1.0
-export var auto_rotation_limit : float = 20.0 setget set_auto_rotation_limit
-export var auto_velocity_limit : float = 10.0
+@export var auto_adjust : bool = true: set = set_auto_adjust
+@export var auto_inner_radius : float = 0.35
+@export var auto_fade_out_factor : float = 1.5
+@export var auto_fade_delay : float = 1.0
+@export var auto_rotation_limit : float = 20.0: set = set_auto_rotation_limit
+@export var auto_velocity_limit : float = 10.0
-var material : ShaderMaterial = preload("res://addons/godot-xr-tools/effects/vignette.material")
+var material : ShaderMaterial = preload("res://addons/godot-xr-tools/effects/vignette.tres")
var auto_first = true
var fade_delay = 0.0
var origin_node = null
var last_origin_basis : Basis
var last_location : Vector3
-onready var auto_rotation_limit_rad = deg2rad(auto_rotation_limit)
+@onready var auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit)
func set_radius(new_radius : float) -> void:
radius = new_radius
@@ -30,7 +30,7 @@ func set_radius(new_radius : float) -> void:
func _update_radius() -> void:
if radius < 1.0:
if material:
- material.set_shader_param("radius", radius * sqrt(2))
+ material.set_shader_parameter("radius", radius * sqrt(2))
$Mesh.visible = true
else:
$Mesh.visible = false
@@ -42,7 +42,7 @@ func set_fade(new_fade : float) -> void:
func _update_fade() -> void:
if material:
- material.set_shader_param("fade", fade)
+ material.set_shader_parameter("fade", fade)
func set_steps(new_steps : int) -> void:
@@ -51,13 +51,13 @@ func set_steps(new_steps : int) -> void:
_update_mesh()
func _update_mesh() -> void:
- var vertices : PoolVector3Array
- var indices : PoolIntArray
+ var vertices : PackedVector3Array
+ var indices : PackedInt32Array
vertices.resize(2 * steps)
indices.resize(6 * steps)
for i in steps:
- var v : Vector3 = Vector3.RIGHT.rotated(Vector3.FORWARD, deg2rad((360.0 * i) / steps))
+ var v : Vector3 = Vector3.RIGHT.rotated(Vector3.FORWARD, deg_to_rad((360.0 * i) / steps))
vertices[i] = v
vertices[steps+i] = v * 2.0
@@ -77,13 +77,14 @@ func _update_mesh() -> void:
arr[ArrayMesh.ARRAY_VERTEX] = vertices
arr[ArrayMesh.ARRAY_INDEX] = indices
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arr)
+ arr_mesh.custom_aabb = AABB(Vector3(-1.0, -1.0, -1.0), Vector3(1.0, 1.0, 1.0))
$Mesh.mesh = arr_mesh
- $Mesh.set_surface_material(0, material)
+ $Mesh.set_surface_override_material(0, material)
func set_auto_adjust(new_auto_adjust : bool) -> void:
auto_adjust = new_auto_adjust
- if is_inside_tree() and !Engine.editor_hint:
+ if is_inside_tree() and !Engine.is_editor_hint():
_update_auto_adjust()
func _update_auto_adjust() -> void:
@@ -94,18 +95,18 @@ func _update_auto_adjust() -> void:
func set_auto_rotation_limit(new_auto_rotation_limit : float) -> void:
auto_rotation_limit = new_auto_rotation_limit
- auto_rotation_limit_rad = deg2rad(auto_rotation_limit)
+ auto_rotation_limit_rad = deg_to_rad(auto_rotation_limit)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsVignette" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsVignette"
# Called when the node enters the scene tree for the first time.
func _ready():
- if !Engine.editor_hint:
- origin_node = ARVRHelpers.get_arvr_origin(self)
+ if !Engine.is_editor_hint():
+ origin_node = XRHelpers.get_xr_origin(self)
_update_mesh()
_update_radius()
_update_fade()
@@ -115,7 +116,7 @@ func _ready():
# Called on process
func _process(delta):
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
if !origin_node:
@@ -144,7 +145,7 @@ func _process(delta):
# Adjust radius based on rotation speed of our origin point (not of head movement).
# We convert our delta rotation to a quaterion.
# A quaternion represents a rotation around an angle.
- var q = delta_b.get_rotation_quat()
+ var q = delta_b.get_rotation_quaternion()
# We get our angle from our w component and then adjust to get a
# rotation speed per second by dividing by delta
@@ -177,16 +178,18 @@ func _process(delta):
# This method verifies the vignette has a valid configuration.
# Specifically it checks the following:
-# - ARVROrigin is a parent
-# - ARVRCamera is our parent
-func _get_configuration_warning():
+# - XROrigin3D is a parent
+# - XRCamera3D is our parent
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Check the origin node
- if !ARVRHelpers.get_arvr_origin(self):
- return "Parent node must be in a branch from ARVROrigin"
+ if !XRHelpers.get_xr_origin(self):
+ warnings.append("Parent node must be in a branch from XROrigin3D")
# check camera node
var parent = get_parent()
- if !parent or !parent is ARVRCamera:
- return "Parent node must be an ARVRCamera"
+ if !parent or !parent is XRCamera3D:
+ warnings.append("Parent node must be an XRCamera3D")
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/effects/vignette.gdshader b/addons/godot-xr-tools/effects/vignette.gdshader
index f5c33c39..1309301e 100644
--- a/addons/godot-xr-tools/effects/vignette.gdshader
+++ b/addons/godot-xr-tools/effects/vignette.gdshader
@@ -1,7 +1,7 @@
shader_type spatial;
-render_mode depth_test_disable, skip_vertex_transform, unshaded;
+render_mode depth_test_disabled, skip_vertex_transform, unshaded, cull_disabled;
-uniform vec4 color : hint_color = vec4(0.0, 0.0, 0.0, 1.0);
+uniform vec4 color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform float radius = 1.0;
uniform float fade = 0.05;
@@ -23,6 +23,8 @@ void vertex() {
// and we offset our inner circle
v.xy += eye.xy / eye.z;
}
+
+ // looks like this is broken in Godot 4...
POSITION = vec4(v, 1.0);
}
diff --git a/addons/godot-xr-tools/effects/vignette.material b/addons/godot-xr-tools/effects/vignette.material
deleted file mode 100644
index 7df199e0..00000000
Binary files a/addons/godot-xr-tools/effects/vignette.material and /dev/null differ
diff --git a/addons/godot-xr-tools/effects/vignette.tres b/addons/godot-xr-tools/effects/vignette.tres
new file mode 100644
index 00000000..0acb398d
--- /dev/null
+++ b/addons/godot-xr-tools/effects/vignette.tres
@@ -0,0 +1,10 @@
+[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cesiqdvdfojle"]
+
+[ext_resource type="Shader" path="res://addons/godot-xr-tools/effects/vignette.gdshader" id="1_x02h0"]
+
+[resource]
+render_priority = 0
+shader = ExtResource("1_x02h0")
+shader_parameter/color = Color(0, 0, 0, 1)
+shader_parameter/radius = 0.2
+shader_parameter/fade = 0.05
diff --git a/addons/godot-xr-tools/effects/vignette.tscn b/addons/godot-xr-tools/effects/vignette.tscn
index 5765d172..3ac97d33 100644
--- a/addons/godot-xr-tools/effects/vignette.tscn
+++ b/addons/godot-xr-tools/effects/vignette.tscn
@@ -1,26 +1,27 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://cc6ngdqie8o8c"]
-[ext_resource path="res://addons/godot-xr-tools/effects/vignette.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/effects/vignette.material" type="Material" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/effects/vignette.gd" id="1"]
+[ext_resource type="Material" uid="uid://cesiqdvdfojle" path="res://addons/godot-xr-tools/effects/vignette.tres" id="2_djtaj"]
-[sub_resource type="ArrayMesh" id=1]
-surfaces/0 = {
-"aabb": AABB( -2, -2, 0, 4, 4, 1e-05 ),
-"array_data": PoolByteArray( 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 123, 63, 194, 197, 71, 190, 0, 0, 0, 0, 94, 131, 108, 63, 22, 239, 195, 190, 0, 0, 0, 0, 49, 219, 84, 63, 218, 57, 14, 191, 0, 0, 0, 0, 243, 4, 53, 63, 243, 4, 53, 191, 0, 0, 0, 0, 218, 57, 14, 63, 49, 219, 84, 191, 0, 0, 0, 0, 21, 239, 195, 62, 94, 131, 108, 191, 0, 0, 0, 0, 196, 197, 71, 62, 190, 20, 123, 191, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 128, 191, 0, 0, 0, 0, 194, 197, 71, 190, 190, 20, 123, 191, 0, 0, 0, 0, 20, 239, 195, 190, 95, 131, 108, 191, 0, 0, 0, 0, 217, 57, 14, 191, 50, 219, 84, 191, 0, 0, 0, 0, 243, 4, 53, 191, 243, 4, 53, 191, 0, 0, 0, 0, 50, 219, 84, 191, 217, 57, 14, 191, 0, 0, 0, 0, 94, 131, 108, 191, 23, 239, 195, 190, 0, 0, 0, 0, 191, 20, 123, 191, 193, 197, 71, 190, 0, 0, 0, 0, 0, 0, 128, 191, 46, 189, 187, 51, 0, 0, 0, 0, 191, 20, 123, 191, 189, 197, 71, 62, 0, 0, 0, 0, 94, 131, 108, 191, 21, 239, 195, 62, 0, 0, 0, 0, 48, 219, 84, 191, 219, 57, 14, 63, 0, 0, 0, 0, 244, 4, 53, 191, 242, 4, 53, 63, 0, 0, 0, 0, 221, 57, 14, 191, 47, 219, 84, 63, 0, 0, 0, 0, 26, 239, 195, 190, 94, 131, 108, 63, 0, 0, 0, 0, 198, 197, 71, 190, 190, 20, 123, 63, 0, 0, 0, 0, 46, 222, 76, 50, 0, 0, 128, 63, 0, 0, 0, 0, 200, 197, 71, 62, 190, 20, 123, 63, 0, 0, 0, 0, 27, 239, 195, 62, 93, 131, 108, 63, 0, 0, 0, 0, 215, 57, 14, 63, 51, 219, 84, 63, 0, 0, 0, 0, 241, 4, 53, 63, 245, 4, 53, 63, 0, 0, 0, 0, 49, 219, 84, 63, 219, 57, 14, 63, 0, 0, 0, 0, 95, 131, 108, 63, 21, 239, 195, 62, 0, 0, 0, 0, 191, 20, 123, 63, 188, 197, 71, 62, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 251, 63, 194, 197, 199, 190, 0, 0, 0, 0, 94, 131, 236, 63, 22, 239, 67, 191, 0, 0, 0, 0, 49, 219, 212, 63, 218, 57, 142, 191, 0, 0, 0, 0, 243, 4, 181, 63, 243, 4, 181, 191, 0, 0, 0, 0, 218, 57, 142, 63, 49, 219, 212, 191, 0, 0, 0, 0, 21, 239, 67, 63, 94, 131, 236, 191, 0, 0, 0, 0, 196, 197, 199, 62, 190, 20, 251, 191, 0, 0, 0, 0, 46, 189, 187, 179, 0, 0, 0, 192, 0, 0, 0, 0, 194, 197, 199, 190, 190, 20, 251, 191, 0, 0, 0, 0, 20, 239, 67, 191, 95, 131, 236, 191, 0, 0, 0, 0, 217, 57, 142, 191, 50, 219, 212, 191, 0, 0, 0, 0, 243, 4, 181, 191, 243, 4, 181, 191, 0, 0, 0, 0, 50, 219, 212, 191, 217, 57, 142, 191, 0, 0, 0, 0, 94, 131, 236, 191, 23, 239, 67, 191, 0, 0, 0, 0, 191, 20, 251, 191, 193, 197, 199, 190, 0, 0, 0, 0, 0, 0, 0, 192, 46, 189, 59, 52, 0, 0, 0, 0, 191, 20, 251, 191, 189, 197, 199, 62, 0, 0, 0, 0, 94, 131, 236, 191, 21, 239, 67, 63, 0, 0, 0, 0, 48, 219, 212, 191, 219, 57, 142, 63, 0, 0, 0, 0, 244, 4, 181, 191, 242, 4, 181, 63, 0, 0, 0, 0, 221, 57, 142, 191, 47, 219, 212, 63, 0, 0, 0, 0, 26, 239, 67, 191, 94, 131, 236, 63, 0, 0, 0, 0, 198, 197, 199, 190, 190, 20, 251, 63, 0, 0, 0, 0, 46, 222, 204, 50, 0, 0, 0, 64, 0, 0, 0, 0, 200, 197, 199, 62, 190, 20, 251, 63, 0, 0, 0, 0, 27, 239, 67, 63, 93, 131, 236, 63, 0, 0, 0, 0, 215, 57, 142, 63, 51, 219, 212, 63, 0, 0, 0, 0, 241, 4, 181, 63, 245, 4, 181, 63, 0, 0, 0, 0, 49, 219, 212, 63, 219, 57, 142, 63, 0, 0, 0, 0, 95, 131, 236, 63, 21, 239, 67, 63, 0, 0, 0, 0, 191, 20, 251, 63, 188, 197, 199, 62, 0, 0, 0, 0 ),
-"array_index_data": PoolByteArray( 32, 0, 33, 0, 1, 0, 32, 0, 1, 0, 0, 0, 33, 0, 34, 0, 2, 0, 33, 0, 2, 0, 1, 0, 34, 0, 35, 0, 3, 0, 34, 0, 3, 0, 2, 0, 35, 0, 36, 0, 4, 0, 35, 0, 4, 0, 3, 0, 36, 0, 37, 0, 5, 0, 36, 0, 5, 0, 4, 0, 37, 0, 38, 0, 6, 0, 37, 0, 6, 0, 5, 0, 38, 0, 39, 0, 7, 0, 38, 0, 7, 0, 6, 0, 39, 0, 40, 0, 8, 0, 39, 0, 8, 0, 7, 0, 40, 0, 41, 0, 9, 0, 40, 0, 9, 0, 8, 0, 41, 0, 42, 0, 10, 0, 41, 0, 10, 0, 9, 0, 42, 0, 43, 0, 11, 0, 42, 0, 11, 0, 10, 0, 43, 0, 44, 0, 12, 0, 43, 0, 12, 0, 11, 0, 44, 0, 45, 0, 13, 0, 44, 0, 13, 0, 12, 0, 45, 0, 46, 0, 14, 0, 45, 0, 14, 0, 13, 0, 46, 0, 47, 0, 15, 0, 46, 0, 15, 0, 14, 0, 47, 0, 48, 0, 16, 0, 47, 0, 16, 0, 15, 0, 48, 0, 49, 0, 17, 0, 48, 0, 17, 0, 16, 0, 49, 0, 50, 0, 18, 0, 49, 0, 18, 0, 17, 0, 50, 0, 51, 0, 19, 0, 50, 0, 19, 0, 18, 0, 51, 0, 52, 0, 20, 0, 51, 0, 20, 0, 19, 0, 52, 0, 53, 0, 21, 0, 52, 0, 21, 0, 20, 0, 53, 0, 54, 0, 22, 0, 53, 0, 22, 0, 21, 0, 54, 0, 55, 0, 23, 0, 54, 0, 23, 0, 22, 0, 55, 0, 56, 0, 24, 0, 55, 0, 24, 0, 23, 0, 56, 0, 57, 0, 25, 0, 56, 0, 25, 0, 24, 0, 57, 0, 58, 0, 26, 0, 57, 0, 26, 0, 25, 0, 58, 0, 59, 0, 27, 0, 58, 0, 27, 0, 26, 0, 59, 0, 60, 0, 28, 0, 59, 0, 28, 0, 27, 0, 60, 0, 61, 0, 29, 0, 60, 0, 29, 0, 28, 0, 61, 0, 62, 0, 30, 0, 61, 0, 30, 0, 29, 0, 62, 0, 63, 0, 31, 0, 62, 0, 31, 0, 30, 0, 63, 0, 32, 0, 0, 0, 63, 0, 0, 0, 31, 0 ),
-"blend_shape_data": [ ],
-"format": 2194689,
+[sub_resource type="ArrayMesh" id="ArrayMesh_yyajy"]
+_surfaces = [{
+"aabb": AABB(-2, -2, 0, 4, 4, 1e-05),
+"format": 4097,
"index_count": 192,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 64
-}
+"index_data": PackedByteArray(32, 0, 33, 0, 1, 0, 32, 0, 1, 0, 0, 0, 33, 0, 34, 0, 2, 0, 33, 0, 2, 0, 1, 0, 34, 0, 35, 0, 3, 0, 34, 0, 3, 0, 2, 0, 35, 0, 36, 0, 4, 0, 35, 0, 4, 0, 3, 0, 36, 0, 37, 0, 5, 0, 36, 0, 5, 0, 4, 0, 37, 0, 38, 0, 6, 0, 37, 0, 6, 0, 5, 0, 38, 0, 39, 0, 7, 0, 38, 0, 7, 0, 6, 0, 39, 0, 40, 0, 8, 0, 39, 0, 8, 0, 7, 0, 40, 0, 41, 0, 9, 0, 40, 0, 9, 0, 8, 0, 41, 0, 42, 0, 10, 0, 41, 0, 10, 0, 9, 0, 42, 0, 43, 0, 11, 0, 42, 0, 11, 0, 10, 0, 43, 0, 44, 0, 12, 0, 43, 0, 12, 0, 11, 0, 44, 0, 45, 0, 13, 0, 44, 0, 13, 0, 12, 0, 45, 0, 46, 0, 14, 0, 45, 0, 14, 0, 13, 0, 46, 0, 47, 0, 15, 0, 46, 0, 15, 0, 14, 0, 47, 0, 48, 0, 16, 0, 47, 0, 16, 0, 15, 0, 48, 0, 49, 0, 17, 0, 48, 0, 17, 0, 16, 0, 49, 0, 50, 0, 18, 0, 49, 0, 18, 0, 17, 0, 50, 0, 51, 0, 19, 0, 50, 0, 19, 0, 18, 0, 51, 0, 52, 0, 20, 0, 51, 0, 20, 0, 19, 0, 52, 0, 53, 0, 21, 0, 52, 0, 21, 0, 20, 0, 53, 0, 54, 0, 22, 0, 53, 0, 22, 0, 21, 0, 54, 0, 55, 0, 23, 0, 54, 0, 23, 0, 22, 0, 55, 0, 56, 0, 24, 0, 55, 0, 24, 0, 23, 0, 56, 0, 57, 0, 25, 0, 56, 0, 25, 0, 24, 0, 57, 0, 58, 0, 26, 0, 57, 0, 26, 0, 25, 0, 58, 0, 59, 0, 27, 0, 58, 0, 27, 0, 26, 0, 59, 0, 60, 0, 28, 0, 59, 0, 28, 0, 27, 0, 60, 0, 61, 0, 29, 0, 60, 0, 29, 0, 28, 0, 61, 0, 62, 0, 30, 0, 61, 0, 30, 0, 29, 0, 62, 0, 63, 0, 31, 0, 62, 0, 31, 0, 30, 0, 63, 0, 32, 0, 0, 0, 63, 0, 0, 0, 31, 0),
+"primitive": 3,
+"vertex_count": 64,
+"vertex_data": PackedByteArray(0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 123, 63, 194, 197, 71, 190, 0, 0, 0, 0, 94, 131, 108, 63, 22, 239, 195, 190, 0, 0, 0, 0, 49, 219, 84, 63, 218, 57, 14, 191, 0, 0, 0, 0, 243, 4, 53, 63, 243, 4, 53, 191, 0, 0, 0, 0, 218, 57, 14, 63, 49, 219, 84, 191, 0, 0, 0, 0, 21, 239, 195, 62, 94, 131, 108, 191, 0, 0, 0, 0, 196, 197, 71, 62, 190, 20, 123, 191, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 128, 191, 0, 0, 0, 0, 194, 197, 71, 190, 190, 20, 123, 191, 0, 0, 0, 0, 20, 239, 195, 190, 95, 131, 108, 191, 0, 0, 0, 0, 217, 57, 14, 191, 50, 219, 84, 191, 0, 0, 0, 0, 243, 4, 53, 191, 243, 4, 53, 191, 0, 0, 0, 0, 50, 219, 84, 191, 217, 57, 14, 191, 0, 0, 0, 0, 94, 131, 108, 191, 23, 239, 195, 190, 0, 0, 0, 0, 191, 20, 123, 191, 193, 197, 71, 190, 0, 0, 0, 0, 0, 0, 128, 191, 46, 189, 187, 51, 0, 0, 0, 0, 191, 20, 123, 191, 189, 197, 71, 62, 0, 0, 0, 0, 94, 131, 108, 191, 21, 239, 195, 62, 0, 0, 0, 0, 48, 219, 84, 191, 219, 57, 14, 63, 0, 0, 0, 0, 244, 4, 53, 191, 242, 4, 53, 63, 0, 0, 0, 0, 221, 57, 14, 191, 47, 219, 84, 63, 0, 0, 0, 0, 26, 239, 195, 190, 94, 131, 108, 63, 0, 0, 0, 0, 198, 197, 71, 190, 190, 20, 123, 63, 0, 0, 0, 0, 46, 222, 76, 50, 0, 0, 128, 63, 0, 0, 0, 0, 200, 197, 71, 62, 190, 20, 123, 63, 0, 0, 0, 0, 27, 239, 195, 62, 93, 131, 108, 63, 0, 0, 0, 0, 215, 57, 14, 63, 51, 219, 84, 63, 0, 0, 0, 0, 242, 4, 53, 63, 245, 4, 53, 63, 0, 0, 0, 0, 49, 219, 84, 63, 219, 57, 14, 63, 0, 0, 0, 0, 95, 131, 108, 63, 21, 239, 195, 62, 0, 0, 0, 0, 191, 20, 123, 63, 188, 197, 71, 62, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 190, 20, 251, 63, 194, 197, 199, 190, 0, 0, 0, 0, 94, 131, 236, 63, 22, 239, 67, 191, 0, 0, 0, 0, 49, 219, 212, 63, 218, 57, 142, 191, 0, 0, 0, 0, 243, 4, 181, 63, 243, 4, 181, 191, 0, 0, 0, 0, 218, 57, 142, 63, 49, 219, 212, 191, 0, 0, 0, 0, 21, 239, 67, 63, 94, 131, 236, 191, 0, 0, 0, 0, 196, 197, 199, 62, 190, 20, 251, 191, 0, 0, 0, 0, 46, 189, 187, 179, 0, 0, 0, 192, 0, 0, 0, 0, 194, 197, 199, 190, 190, 20, 251, 191, 0, 0, 0, 0, 20, 239, 67, 191, 95, 131, 236, 191, 0, 0, 0, 0, 217, 57, 142, 191, 50, 219, 212, 191, 0, 0, 0, 0, 243, 4, 181, 191, 243, 4, 181, 191, 0, 0, 0, 0, 50, 219, 212, 191, 217, 57, 142, 191, 0, 0, 0, 0, 94, 131, 236, 191, 23, 239, 67, 191, 0, 0, 0, 0, 191, 20, 251, 191, 193, 197, 199, 190, 0, 0, 0, 0, 0, 0, 0, 192, 46, 189, 59, 52, 0, 0, 0, 0, 191, 20, 251, 191, 189, 197, 199, 62, 0, 0, 0, 0, 94, 131, 236, 191, 21, 239, 67, 63, 0, 0, 0, 0, 48, 219, 212, 191, 219, 57, 142, 63, 0, 0, 0, 0, 244, 4, 181, 191, 242, 4, 181, 63, 0, 0, 0, 0, 221, 57, 142, 191, 47, 219, 212, 63, 0, 0, 0, 0, 26, 239, 67, 191, 94, 131, 236, 63, 0, 0, 0, 0, 198, 197, 199, 190, 190, 20, 251, 63, 0, 0, 0, 0, 46, 222, 204, 50, 0, 0, 0, 64, 0, 0, 0, 0, 200, 197, 199, 62, 190, 20, 251, 63, 0, 0, 0, 0, 27, 239, 67, 63, 93, 131, 236, 63, 0, 0, 0, 0, 215, 57, 142, 63, 51, 219, 212, 63, 0, 0, 0, 0, 242, 4, 181, 63, 245, 4, 181, 63, 0, 0, 0, 0, 49, 219, 212, 63, 219, 57, 142, 63, 0, 0, 0, 0, 95, 131, 236, 63, 21, 239, 67, 63, 0, 0, 0, 0, 191, 20, 251, 63, 188, 197, 199, 62, 0, 0, 0, 0)
+}]
+custom_aabb = AABB(-1, -1, -1, 1, 1, 1)
-[node name="Vignette" type="Spatial"]
-script = ExtResource( 1 )
+[node name="Vignette" type="Node3D"]
+script = ExtResource("1")
-[node name="Mesh" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 )
+[node name="Mesh" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
visible = false
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
+cast_shadow = 0
+ignore_occlusion_culling = true
+mesh = SubResource("ArrayMesh_yyajy")
+surface_material_override/0 = ExtResource("2_djtaj")
diff --git a/addons/godot-xr-tools/examples/fall_damage.gd b/addons/godot-xr-tools/examples/fall_damage.gd
index caac1891..58dd2f5c 100644
--- a/addons/godot-xr-tools/examples/fall_damage.gd
+++ b/addons/godot-xr-tools/examples/fall_damage.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsFallDamage
extends XRToolsMovementProvider
@@ -32,28 +32,31 @@ signal player_fall_damage(damage)
## Movement provider order
-export var order : int = 1000
+@export var order : int = 1000
## Ignore damage if player is launched up
-export var ignore_launch : bool = true
+@export var ignore_launch : bool = true
## Only take damage on ground
-export var ground_only : bool = false
+@export var ground_only : bool = false
## Acceleration limit
-export var damage_threshold : float = 8.0
+@export var damage_threshold : float = 8.0
-# Previous velocity
+## Previous velocity
var _previous_velocity : Vector3 = Vector3.ZERO
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsFallDamage" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsFallDamage"
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Set as always active
is_active = true
diff --git a/addons/godot-xr-tools/examples/fall_damage.tscn b/addons/godot-xr-tools/examples/fall_damage.tscn
index a96970f6..e1b607da 100644
--- a/addons/godot-xr-tools/examples/fall_damage.tscn
+++ b/addons/godot-xr-tools/examples/fall_damage.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://d2yejwiwab3wv"]
-[ext_resource path="res://addons/godot-xr-tools/examples/fall_damage.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/examples/fall_damage.gd" id="1"]
[node name="FallDamage" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/function_pickup.gd b/addons/godot-xr-tools/functions/function_pickup.gd
index 6901b96e..35b1eb36 100644
--- a/addons/godot-xr-tools/functions/function_pickup.gd
+++ b/addons/godot-xr-tools/functions/function_pickup.gd
@@ -1,6 +1,7 @@
-tool
-class_name XRToolsFunctionPickup, "res://addons/godot-xr-tools/editor/icons/function.svg"
-extends Spatial
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/function.svg")
+class_name XRToolsFunctionPickup
+extends Node3D
## XR Tools Function Pickup Script
@@ -31,123 +32,123 @@ const MAX_GRAB_DISTANCE2: float = 1000000.0
## Pickup enabled property
-export var enabled : bool = true
+@export var enabled : bool = true
## Grip controller axis
-export (XRTools.Axis) var pickup_axis_id = XRTools.Axis.VR_GRIP_AXIS
+@export var pickup_axis_action : String = "grip"
## Action controller button
-export (XRTools.Buttons) var action_button_id = XRTools.Buttons.VR_TRIGGER
+@export var action_button_action : String = "trigger_click"
## Grab distance
-export var grab_distance : float = 0.3 setget _set_grab_distance
+@export var grab_distance : float = 0.3: set = _set_grab_distance
## Grab collision mask
-export (int, LAYERS_3D_PHYSICS) \
- var grab_collision_mask : int = DEFAULT_GRAB_MASK setget _set_grab_collision_mask
+@export_flags_3d_physics \
+ var grab_collision_mask : int = DEFAULT_GRAB_MASK: set = _set_grab_collision_mask
## If true, ranged-grabbing is enabled
-export var ranged_enable : bool = true
+@export var ranged_enable : bool = true
## Ranged-grab distance
-export var ranged_distance : float = 5.0 setget _set_ranged_distance
+@export var ranged_distance : float = 5.0: set = _set_ranged_distance
## Ranged-grab angle
-export (float, 0.0, 45.0) var ranged_angle : float = 5.0 setget _set_ranged_angle
+@export_range(0.0, 45.0) var ranged_angle : float = 5.0: set = _set_ranged_angle
## Ranged-grab collision mask
-export (int, LAYERS_3D_PHYSICS) \
- var ranged_collision_mask : int = DEFAULT_RANGE_MASK setget _set_ranged_collision_mask
+@export_flags_3d_physics \
+ var ranged_collision_mask : int = DEFAULT_RANGE_MASK: set = _set_ranged_collision_mask
## Throw impulse factor
-export var impulse_factor : float = 1.0
+@export var impulse_factor : float = 1.0
## Throw velocity averaging
-export var velocity_samples: int = 5
+@export var velocity_samples: int = 5
# Public fields
-var closest_object : Spatial = null
-var picked_up_object : Spatial = null
-var picked_up_ranged: bool = false
-var grip_pressed = false
+var closest_object : Node3D = null
+var picked_up_object : Node3D = null
+var picked_up_ranged : bool = false
+var grip_pressed : bool = false
# Private fields
var _object_in_grab_area := Array()
var _object_in_ranged_area := Array()
var _velocity_averager := XRToolsVelocityAverager.new(velocity_samples)
-var _grab_area : Area
-var _grab_collision : CollisionShape
-var _ranged_area : Area
-var _ranged_collision : CollisionShape
+var _grab_area : Area3D
+var _grab_collision : CollisionShape3D
+var _ranged_area : Area3D
+var _ranged_collision : CollisionShape3D
## Controller
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
## Grip threshold (from configuration)
-onready var _grip_threshold : float = XRTools.get_grip_threshold()
+@onready var _grip_threshold : float = XRTools.get_grip_threshold()
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsFunctionPickup" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsFunctionPickup"
# Called when the node enters the scene tree for the first time.
func _ready():
# Skip creating grab-helpers if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Create the grab collision shape
- _grab_collision = CollisionShape.new()
+ _grab_collision = CollisionShape3D.new()
_grab_collision.set_name("GrabCollisionShape")
- _grab_collision.shape = SphereShape.new()
+ _grab_collision.shape = SphereShape3D.new()
_grab_collision.shape.radius = grab_distance
# Create the grab area
- _grab_area = Area.new()
+ _grab_area = Area3D.new()
_grab_area.set_name("GrabArea")
_grab_area.collision_layer = 0
_grab_area.collision_mask = grab_collision_mask
_grab_area.add_child(_grab_collision)
- _grab_area.connect("area_entered", self, "_on_grab_entered")
- _grab_area.connect("body_entered", self, "_on_grab_entered")
- _grab_area.connect("area_exited", self, "_on_grab_exited")
- _grab_area.connect("body_exited", self, "_on_grab_exited")
+ _grab_area.area_entered.connect(_on_grab_entered)
+ _grab_area.body_entered.connect(_on_grab_entered)
+ _grab_area.area_exited.connect(_on_grab_exited)
+ _grab_area.body_exited.connect(_on_grab_exited)
add_child(_grab_area)
# Create the ranged collision shape
- _ranged_collision = CollisionShape.new()
+ _ranged_collision = CollisionShape3D.new()
_ranged_collision.set_name("RangedCollisionShape")
- _ranged_collision.shape = CylinderShape.new()
+ _ranged_collision.shape = CylinderShape3D.new()
_ranged_collision.transform.basis = Basis(Vector3.RIGHT, PI/2)
# Create the ranged area
- _ranged_area = Area.new()
+ _ranged_area = Area3D.new()
_ranged_area.set_name("RangedArea")
_ranged_area.collision_layer = 0
_ranged_area.collision_mask = ranged_collision_mask
_ranged_area.add_child(_ranged_collision)
- _ranged_area.connect("area_entered", self, "_on_ranged_entered")
- _ranged_area.connect("body_entered", self, "_on_ranged_entered")
- _ranged_area.connect("area_exited", self, "_on_ranged_exited")
- _ranged_area.connect("body_exited", self, "_on_ranged_exited")
+ _ranged_area.area_entered.connect(_on_ranged_entered)
+ _ranged_area.body_entered.connect(_on_ranged_entered)
+ _ranged_area.area_exited.connect(_on_ranged_exited)
+ _ranged_area.body_exited.connect(_on_ranged_exited)
add_child(_ranged_area)
# Update the colliders
_update_colliders()
# Monitor Grab Button
- _controller.connect("button_pressed", self, "_on_button_pressed")
- _controller.connect("button_release", self, "_on_button_release")
+ get_parent().connect("button_pressed", _on_button_pressed)
+ get_parent().connect("button_released", _on_button_released)
# Called on each frame to update the pickup
func _process(delta):
# Do not process if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Skip if disabled, or the controller isn't active
@@ -155,7 +156,7 @@ func _process(delta):
return
# Handle our grip
- var grip_value = _controller.get_joystick_axis(pickup_axis_id)
+ var grip_value = _controller.get_float(pickup_axis_action)
if (grip_pressed and grip_value < (_grip_threshold - 0.1)):
grip_pressed = false
_on_grip_release()
@@ -177,10 +178,10 @@ func _process(delta):
## Find an [XRToolsFunctionPickup] node.
##
## This function searches from the specified node for an [XRToolsFunctionPickup]
-## assuming the node is a sibling of the pickup under an [ARVRController].
+## assuming the node is a sibling of the pickup under an [XRController3D].
static func find_instance(node : Node) -> XRToolsFunctionPickup:
- return XRTools.find_child(
- ARVRHelpers.get_arvr_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_xr_controller(node),
"*",
"XRToolsFunctionPickup") as XRToolsFunctionPickup
@@ -188,10 +189,10 @@ static func find_instance(node : Node) -> XRToolsFunctionPickup:
## Find the left [XRToolsFunctionPickup] node.
##
## This function searches from the specified node for the left controller
-## [XRToolsFunctionPickup] assuming the node is a sibling of the [ARVROrigin].
+## [XRToolsFunctionPickup] assuming the node is a sibling of the [XOrigin3D].
static func find_left(node : Node) -> XRToolsFunctionPickup:
- return XRTools.find_child(
- ARVRHelpers.get_left_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_left_controller(node),
"*",
"XRToolsFunctionPickup") as XRToolsFunctionPickup
@@ -199,16 +200,16 @@ static func find_left(node : Node) -> XRToolsFunctionPickup:
## Find the right [XRToolsFunctionPickup] node.
##
## This function searches from the specified node for the right controller
-## [XRToolsFunctionPickup] assuming the node is a sibling of the [ARVROrigin].
+## [XRToolsFunctionPickup] assuming the node is a sibling of the [XROrigin3D].
static func find_right(node : Node) -> XRToolsFunctionPickup:
- return XRTools.find_child(
- ARVRHelpers.get_right_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_right_controller(node),
"*",
"XRToolsFunctionPickup") as XRToolsFunctionPickup
-## Get the [ARVRController] driving this pickup.
-func get_controller() -> ARVRController:
+## Get the [XRController3D] driving this pickup.
+func get_controller() -> XRController3D:
return _controller
@@ -255,13 +256,13 @@ func _update_colliders() -> void:
# Update the ranged-grab cylinder
if _ranged_collision:
- _ranged_collision.shape.radius = tan(deg2rad(ranged_angle)) * ranged_distance
+ _ranged_collision.shape.radius = tan(deg_to_rad(ranged_angle)) * ranged_distance
_ranged_collision.shape.height = ranged_distance
_ranged_collision.transform.origin.z = -ranged_distance * 0.5
# Called when an object enters the grab sphere
-func _on_grab_entered(target: Spatial) -> void:
+func _on_grab_entered(target: Node3D) -> void:
# reject objects which don't support picking up
if not target.has_method('pick_up'):
return
@@ -275,7 +276,7 @@ func _on_grab_entered(target: Spatial) -> void:
# Called when an object enters the ranged-grab cylinder
-func _on_ranged_entered(target: Spatial) -> void:
+func _on_ranged_entered(target: Node3D) -> void:
# reject objects which don't support picking up rangedly
if not 'can_ranged_grab' in target or not target.can_ranged_grab:
return
@@ -289,19 +290,19 @@ func _on_ranged_entered(target: Spatial) -> void:
# Called when an object exits the grab sphere
-func _on_grab_exited(target: Spatial) -> void:
+func _on_grab_exited(target: Node3D) -> void:
_object_in_grab_area.erase(target)
# Called when an object exits the ranged-grab cylinder
-func _on_ranged_exited(target: Spatial) -> void:
+func _on_ranged_exited(target: Node3D) -> void:
_object_in_ranged_area.erase(target)
# Update the closest object field with the best choice of grab
func _update_closest_object() -> void:
# Find the closest object we can pickup
- var new_closest_obj: Spatial = null
+ var new_closest_obj: Node3D = null
if not picked_up_object:
# Find the closest in grab area
new_closest_obj = _get_closest_grab()
@@ -324,8 +325,8 @@ func _update_closest_object() -> void:
# Find the pickable object closest to our hand's grab location
-func _get_closest_grab() -> Spatial:
- var new_closest_obj: Spatial = null
+func _get_closest_grab() -> Node3D:
+ var new_closest_obj: Node3D = null
var new_closest_distance := MAX_GRAB_DISTANCE2
for o in _object_in_grab_area:
# skip objects that can not be picked up
@@ -344,9 +345,9 @@ func _get_closest_grab() -> Spatial:
# Find the rangedly-pickable object closest to our hand's pointing direction
-func _get_closest_ranged() -> Spatial:
- var new_closest_obj: Spatial = null
- var new_closest_angle_dp := cos(deg2rad(ranged_angle))
+func _get_closest_ranged() -> Node3D:
+ var new_closest_obj: Node3D = null
+ var new_closest_angle_dp := cos(deg_to_rad(ranged_angle))
var hand_forwards := -global_transform.basis.z
for o in _object_in_ranged_area:
# skip objects that can not be picked up
@@ -378,7 +379,7 @@ func drop_object() -> void:
emit_signal("has_dropped")
-func _pick_up_object(target: Spatial) -> void:
+func _pick_up_object(target: Node3D) -> void:
# check if already holding an object
if is_instance_valid(picked_up_object):
# skip if holding the target object
@@ -408,12 +409,12 @@ func _pick_up_object(target: Spatial) -> void:
func _on_button_pressed(p_button) -> void:
- if p_button == action_button_id:
+ if p_button == action_button_action:
if is_instance_valid(picked_up_object) and picked_up_object.has_method("action"):
picked_up_object.action()
-func _on_button_release(_p_button) -> void:
+func _on_button_released(_p_button) -> void:
pass
diff --git a/addons/godot-xr-tools/functions/function_pickup.tscn b/addons/godot-xr-tools/functions/function_pickup.tscn
index 14aeacfa..9414a6d4 100644
--- a/addons/godot-xr-tools/functions/function_pickup.tscn
+++ b/addons/godot-xr-tools/functions/function_pickup.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://b4ysuy43poobf"]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pickup.gd" id="1"]
-[node name="FunctionPickup" type="Spatial"]
-script = ExtResource( 1 )
+[node name="FunctionPickup" type="Node3D"]
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/function_pointer.gd b/addons/godot-xr-tools/functions/function_pointer.gd
index e2f6513f..3fc517f9 100644
--- a/addons/godot-xr-tools/functions/function_pointer.gd
+++ b/addons/godot-xr-tools/functions/function_pointer.gd
@@ -1,6 +1,7 @@
-tool
-class_name XRToolsFunctionPointer, "res://addons/godot-xr-tools/editor/icons/function.svg"
-extends Spatial
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/function.svg")
+class_name XRToolsFunctionPointer
+extends Node3D
## XR Tools Function Pointer Script
@@ -31,45 +32,43 @@ enum LaserLength {
const DEFAULT_MASK := 0b0000_0000_0001_0000_0000_0000_0000_0000
+
## Pointer enabled property
-export var enabled : bool = true setget set_enabled
+@export var enabled : bool = true: set = set_enabled
## Show laser property
-export (LaserShow) var show_laser : int = LaserShow.SHOW setget set_show_laser
+@export var show_laser : LaserShow = LaserShow.SHOW: set = set_show_laser
## Laser length property
-export (LaserLength) var laser_length : int = LaserLength.FULL
+@export var laser_length : LaserLength = LaserLength.FULL
## If true, the pointer target is shown
-export var show_target : bool = false
+@export var show_target : bool = false
## Y Offset for pointer
-export var y_offset : float = -0.05 setget set_y_offset
+@export var y_offset : float = -0.05: set = set_y_offset
## Pointer distance
-export var distance : float = 10 setget set_distance
+@export var distance : float = 10: set = set_distance
## Pointer collision mask
-export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask
+@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask
## Enable pointer collision with bodies
-export var collide_with_bodies : bool = true setget set_collide_with_bodies
+@export var collide_with_bodies : bool = true: set = set_collide_with_bodies
## Enable pointer collision with areas
-export var collide_with_areas : bool = false setget set_collide_with_areas
-
-## Active button
-export (XRTools.Buttons) var active_button : int = XRTools.Buttons.VR_TRIGGER
+@export var collide_with_areas : bool = false: set = set_collide_with_areas
-## Action to monitor (if button set to VR_ACTION)
-export var action = ""
+## Active button action
+@export var active_button_action : String = "trigger_click"
## Current target node
-var target : Spatial
+var target : Node3D
## Last target node
-var last_target : Spatial
+var last_target : Node3D
## Last collision point
var last_collided_at : Vector3 = Vector3.ZERO
@@ -78,60 +77,58 @@ var last_collided_at : Vector3 = Vector3.ZERO
var _world_scale : float = 1.0
# Left controller node
-var _controller_left_node : ARVRController
+var _controller_left_node : XRController3D
# Right controller node
-var _controller_right_node : ARVRController
+var _controller_right_node : XRController3D
# Parent controller (if this pointer is childed to a specific controller)
-var _controller : ARVRController
+var _controller : XRController3D
# The currently active controller
-var _active_controller : ARVRController
+var _active_controller : XRController3D
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsFunctionPointer" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsFunctionPointer"
# Called when the node enters the scene tree for the first time.
func _ready():
# Do not initialise if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Read the initial world-scale
- _world_scale = ARVRServer.world_scale
+ _world_scale = XRServer.world_scale
# Check for a parent controller
- _controller = ARVRHelpers.get_arvr_controller(self)
+ _controller = XRHelpers.get_xr_controller(self)
if _controller:
# Set as active on the parent controller
_active_controller = _controller
- # If pointer-trigger is a button then subscribe to button signals
- if active_button != XRTools.Buttons.VR_ACTION:
- # Get button press feedback from controller
- _controller.connect("button_pressed", self, "_on_button_pressed", [_controller])
- _controller.connect("button_release", self, "_on_button_release", [_controller])
+ # Get button press feedback from our parent controller
+ _controller.button_pressed.connect(_on_button_pressed.bind(_controller))
+ _controller.button_released.connect(_on_button_released.bind(_controller))
else:
# Get the left and right controllers
- _controller_left_node = ARVRHelpers.get_left_controller(self)
- _controller_right_node = ARVRHelpers.get_right_controller(self)
+ _controller_left_node = XRHelpers.get_left_controller(self)
+ _controller_right_node = XRHelpers.get_right_controller(self)
# Start out right hand controller
_active_controller = _controller_right_node
# Get button press feedback from both left and right controllers
- _controller_left_node.connect("button_pressed", self, "_on_button_pressed",
- [_controller_left_node])
- _controller_left_node.connect("button_release", self, "_on_button_release",
- [_controller_left_node])
- _controller_right_node.connect("button_pressed", self, "_on_button_pressed",
- [_controller_right_node])
- _controller_right_node.connect("button_release", self, "_on_button_release",
- [_controller_right_node])
+ _controller_left_node.button_pressed.connect(
+ _on_button_pressed.bind(_controller_left_node))
+ _controller_left_node.button_released.connect(
+ _on_button_released.bind(_controller_left_node))
+ _controller_right_node.button_pressed.connect(
+ _on_button_pressed.bind(_controller_right_node))
+ _controller_right_node.button_released.connect(
+ _on_button_released.bind(_controller_right_node))
# init our state
_update_y_offset()
@@ -146,22 +143,15 @@ func _ready():
# Called on each frame to update the pickup
func _process(_delta):
# Do not process if in the editor
- if Engine.editor_hint or !is_inside_tree():
+ if Engine.is_editor_hint() or !is_inside_tree():
return
# Track the active controller (if this pointer is not childed to a controller)
if _controller == null and _active_controller != null:
transform = _active_controller.transform
- # If pointer-trigger is an action then check for action
- if active_button == XRTools.Buttons.VR_ACTION and action != "":
- if Input.is_action_just_pressed(action):
- _button_pressed()
- elif !Input.is_action_pressed(action) and target:
- _button_released()
-
# Handle world-scale changes
- var new_world_scale := ARVRServer.world_scale
+ var new_world_scale := XRServer.world_scale
if (_world_scale != new_world_scale):
_world_scale = new_world_scale
_update_y_offset()
@@ -217,7 +207,7 @@ func _process(_delta):
if laser_length == LaserLength.COLLIDE:
var collide_len : float = new_at.distance_to(global_transform.origin)
$Laser.mesh.size.z = collide_len
- $Laser.translation.z = collide_len * -0.5
+ $Laser.position.z = collide_len * -0.5
# remember our new position
last_collided_at = new_at
@@ -240,7 +230,7 @@ func _process(_delta):
# Restore laser length if set to collide-length
if laser_length == LaserLength.COLLIDE:
$Laser.mesh.size.z = distance
- $Laser.translation.z = distance * -0.5
+ $Laser.position.z = distance * -0.5
# Set pointer enabled property
@@ -253,7 +243,7 @@ func set_enabled(p_enabled : bool) -> void:
# Set show-laser property
-func set_show_laser(p_show : int) -> void:
+func set_show_laser(p_show : LaserShow) -> void:
show_laser = p_show
if is_inside_tree():
_update_show_laser()
@@ -307,15 +297,15 @@ func _update_show_laser() -> void:
# Pointer Y offset update handler
func _update_y_offset() -> void:
- $Laser.translation.y = y_offset * _world_scale
- $RayCast.translation.y = y_offset * _world_scale
+ $Laser.position.y = y_offset * _world_scale
+ $RayCast.position.y = y_offset * _world_scale
# Pointer distance update handler
func _update_distance() -> void:
$Laser.mesh.size.z = distance
- $Laser.translation.z = distance * -0.5
- $RayCast.cast_to.z = -distance
+ $Laser.position.z = distance * -0.5
+ $RayCast.target_position.z = -distance
# Pointer collision mask update handler
@@ -359,8 +349,8 @@ func _button_released() -> void:
# Button pressed handler
-func _on_button_pressed(p_button : int, controller : ARVRController) -> void:
- if p_button == active_button and enabled:
+func _on_button_pressed(p_button : String, controller : XRController3D) -> void:
+ if p_button == active_button_action and enabled:
if controller == _active_controller:
_button_pressed()
else:
@@ -368,6 +358,6 @@ func _on_button_pressed(p_button : int, controller : ARVRController) -> void:
# Button released handler
-func _on_button_release(p_button : int, _controller : ARVRController) -> void:
- if p_button == active_button and target:
+func _on_button_released(p_button : String, _controller : XRController3D) -> void:
+ if p_button == active_button_action and target:
_button_released()
diff --git a/addons/godot-xr-tools/functions/function_pointer.tscn b/addons/godot-xr-tools/functions/function_pointer.tscn
index f2b96b0b..910013be 100644
--- a/addons/godot-xr-tools/functions/function_pointer.tscn
+++ b/addons/godot-xr-tools/functions/function_pointer.tscn
@@ -1,35 +1,34 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://cqhw276realc"]
-[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.gd" type="Script" id=2]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pointer.gd" id="2"]
-[sub_resource type="CubeMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
resource_local_to_scene = true
-size = Vector3( 0.002, 0.002, 10 )
+size = Vector3(0.002, 0.002, 10)
subdivide_depth = 20
-[sub_resource type="SphereMesh" id=2]
+[sub_resource type="SphereMesh" id="2"]
radius = 0.05
height = 0.1
radial_segments = 16
rings = 8
-[node name="FunctionPointer" type="Spatial"]
-script = ExtResource( 2 )
+[node name="FunctionPointer" type="Node3D"]
+script = ExtResource("2")
-[node name="RayCast" type="RayCast" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0 )
-enabled = true
-cast_to = Vector3( 0, 0, -10 )
+[node name="RayCast" type="RayCast3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
+target_position = Vector3(0, 0, 0)
collision_mask = 1048576
-[node name="Laser" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, -5 )
+[node name="Laser" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, -5)
cast_shadow = 0
-mesh = SubResource( 1 )
-material/0 = ExtResource( 1 )
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("1")
-[node name="Target" type="MeshInstance" parent="."]
+[node name="Target" type="MeshInstance3D" parent="."]
visible = false
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/function_pose_detector.gd b/addons/godot-xr-tools/functions/function_pose_detector.gd
index eaf1cd50..e399c8db 100644
--- a/addons/godot-xr-tools/functions/function_pose_detector.gd
+++ b/addons/godot-xr-tools/functions/function_pose_detector.gd
@@ -1,6 +1,7 @@
-tool
-class_name XRToolsFunctionPoseDetector, "res://addons/godot-xr-tools/editor/icons/hand.svg"
-extends Spatial
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsFunctionPoseDetector
+extends Node3D
## XR Tools Function Pose Area
@@ -14,28 +15,28 @@ const DEFAULT_MASK := 0b0000_0000_0010_0000_0000_0000_0000_0000
## Collision mask to detect hand pose areas
-export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask
+@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask
## Hand controller
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
## Hand to control
-onready var _hand := XRToolsHand.find_instance(self)
+@onready var _hand := XRToolsHand.find_instance(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsFunctionPoseDetector" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsFunctionPoseDetector"
# Called when the node enters the scene tree for the first time.
func _ready():
# Connect signals (if controller and hand are valid)
if _controller and _hand:
- if $SenseArea.connect("area_entered", self, "_on_area_entered"):
+ if $SenseArea.area_entered.connect(_on_area_entered):
push_error("Unable to connect area_entered signal")
- if $SenseArea.connect("area_exited", self, "_on_area_exited"):
+ if $SenseArea.area_exited.connect(_on_area_exited):
push_error("Unable to connect area_exited signal")
# Update collision mask
@@ -43,16 +44,18 @@ func _ready():
# This method verifies the pose area has a valid configuration.
-func _get_configuration_warning():
- if !ARVRHelpers.get_arvr_controller(self):
- return "Node must be within a branch of an ARVRController node"
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("Node must be within a branch of an XRController3D node")
# Verify hand can be found
if !XRToolsHand.find_instance(self):
- return "Node must be a within a branch of an ARVRController node with a hand"
+ warnings.append("Node must be a within a branch of an XRController node with a hand")
# Pass basic validation
- return ""
+ return warnings
func set_collision_mask(mask : int) -> void:
@@ -66,19 +69,19 @@ func _update_collision_mask() -> void:
## Signal handler called when this XRToolsFunctionPoseArea enters an area
-func _on_area_entered(area : Area) -> void:
+func _on_area_entered(area : Area3D) -> void:
# Igjnore if the area is not a hand-pose area
var pose_area := area as XRToolsHandPoseArea
if !pose_area:
return
# Set the appropriate poses
- if _controller.controller_id == 1 and pose_area.left_pose:
+ if _controller.tracker == "left_hand" and pose_area.left_pose:
_hand.add_pose_override(
pose_area,
pose_area.pose_priority,
pose_area.left_pose)
- elif _controller.controller_id == 2 and pose_area.right_pose:
+ elif _controller.tracker == "right_hand" and pose_area.right_pose:
_hand.add_pose_override(
pose_area,
pose_area.pose_priority,
@@ -86,7 +89,7 @@ func _on_area_entered(area : Area) -> void:
## Signal handler called when this XRToolsFunctionPoseArea leaves an area
-func _on_area_exited(area : Area) -> void:
+func _on_area_exited(area : Area3D) -> void:
# Ignore if the area is not a hand-pose area
var pose_area := area as XRToolsHandPoseArea
if !pose_area:
diff --git a/addons/godot-xr-tools/functions/function_pose_detector.tscn b/addons/godot-xr-tools/functions/function_pose_detector.tscn
index fa02b684..714db38e 100644
--- a/addons/godot-xr-tools/functions/function_pose_detector.tscn
+++ b/addons/godot-xr-tools/functions/function_pose_detector.tscn
@@ -1,19 +1,19 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://bft3xyxs31ci3"]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_pose_detector.gd" id="1"]
-[sub_resource type="CapsuleShape" id=1]
+[sub_resource type="CapsuleShape3D" id="1"]
radius = 0.08
-height = 0.08
+height = 0.24
-[node name="FunctionPoseDetector" type="Spatial"]
-script = ExtResource( 1 )
+[node name="FunctionPoseDetector" type="Node3D"]
+script = ExtResource("1")
-[node name="SenseArea" type="Area" parent="."]
+[node name="SenseArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 2097152
monitorable = false
-[node name="CollisionShape" type="CollisionShape" parent="SenseArea"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.04, 0.08 )
-shape = SubResource( 1 )
+[node name="CollisionShape" type="CollisionShape3D" parent="SenseArea"]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.04, 0.08)
+shape = SubResource("1")
diff --git a/addons/godot-xr-tools/functions/function_teleport.gd b/addons/godot-xr-tools/functions/function_teleport.gd
index 76d13e88..24d08d5a 100644
--- a/addons/godot-xr-tools/functions/function_teleport.gd
+++ b/addons/godot-xr-tools/functions/function_teleport.gd
@@ -1,7 +1,9 @@
-tool
-class_name XRToolsFunctionTeleport, "res://addons/godot-xr-tools/editor/icons/function.svg"
-extends KinematicBody
-# should really change this to Spatial once #17401 is resolved
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/function.svg")
+class_name XRToolsFunctionTeleport
+extends CharacterBody3D
+
+# should really change this to Node3D once #17401 is resolved
## XR Tools Function Teleport Script
@@ -17,37 +19,40 @@ const DEFAULT_MASK := 0b1111_1111_1111_1111_1111_1111_1111_1111
## If true, teleporting is enabled
-export var enabled : bool = true setget set_enabled
+@export var enabled : bool = true: set = set_enabled
## Teleport allowed color property
-export var can_teleport_color : Color = Color(0.0, 1.0, 0.0, 1.0)
+@export var can_teleport_color : Color = Color(0.0, 1.0, 0.0, 1.0)
## Teleport denied color property
-export var cant_teleport_color : Color = Color(1.0, 0.0, 0.0, 1.0)
+@export var cant_teleport_color : Color = Color(1.0, 0.0, 0.0, 1.0)
## Teleport no-collision color property
-export var no_collision_color: Color = Color(45.0 / 255.0, 80.0 / 255.0, 220.0 / 255.0, 1.0)
+@export var no_collision_color : Color = Color(45.0 / 255.0, 80.0 / 255.0, 220.0 / 255.0, 1.0)
## Player height property
-export var player_height : float = 1.8 setget set_player_height
+@export var player_height : float = 1.8: set = set_player_height
## Player radius property
-export var player_radius : float = 0.4 setget set_player_radius
+@export var player_radius : float = 0.4: set = set_player_radius
## Teleport-arc strength
-export var strength : float = 5.0
+@export var strength : float = 5.0
## Maximum floor slope
-export var max_slope : float = 20.0
+@export var max_slope : float = 20.0
## Valid teleport layer mask
-export (int, LAYERS_3D_PHYSICS) var valid_teleport_mask : int = DEFAULT_MASK
+@export_flags_3d_physics var valid_teleport_mask : int = DEFAULT_MASK
# once this is no longer a kinematic body, we'll need this..
# export (int, LAYERS_3D_PHYSICS) var collision_mask = 1
-## Teleport button
-export (XRTools.Buttons) var teleport_button : int = XRTools.Buttons.VR_TRIGGER
+## Teleport button action
+@export var teleport_button_action : String = "trigger_click"
+
+## Teleport rotation action
+@export var rotation_action : String = "primary"
var is_on_floor : bool = true
@@ -55,39 +60,39 @@ var is_teleporting : bool = false
var can_teleport : bool = true
var teleport_rotation : float = 0.0;
var floor_normal : Vector3 = Vector3.UP
-var last_target_transform : Transform = Transform()
-var collision_shape : Shape
+var last_target_transform : Transform3D = Transform3D()
+var collision_shape : Shape3D
var step_size : float = 0.5
# World scale
-onready var ws : float = ARVRServer.world_scale
+@onready var ws : float = XRServer.world_scale
# By default we show a capsule to indicate where the player lands.
# Turn on editable children,
# hide the capsule,
# and add your own player character as child.
-onready var capsule : MeshInstance = get_node("Target/Player_figure/Capsule")
+@onready var capsule : MeshInstance3D = get_node("Target/Player_figure/Capsule")
-## [ARVROrigin] node.
-onready var origin_node := ARVRHelpers.get_arvr_origin(self)
+## [XROrigin3D] node.
+@onready var origin_node := XRHelpers.get_xr_origin(self)
-## [ARVRCamera] node.
-onready var camera_node := ARVRHelpers.get_arvr_camera(self)
+## [XRCamera3D] node.
+@onready var camera_node := XRHelpers.get_xr_camera(self)
-## [ARVRController] node.
-onready var controller := ARVRHelpers.get_arvr_controller(self)
+## [XRController3D] node.
+@onready var controller := XRHelpers.get_xr_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsFunctionTeleport" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsFunctionTeleport"
# Called when the node enters the scene tree for the first time.
func _ready():
# Do not initialise if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# It's inactive when we start
@@ -100,11 +105,11 @@ func _ready():
$Target/Player_figure.scale = Vector3(ws, ws, ws)
# get our capsule shape
- collision_shape = $CollisionShape.shape
- $CollisionShape.shape = null
+ collision_shape = $CollisionShape3D.shape
+ $CollisionShape3D.shape = null
# now remove our collision shape, we are not using our kinematic body
- remove_child($CollisionShape)
+ remove_child($CollisionShape3D)
# call set player to ensure our collision shape is sized
_update_player_height()
@@ -113,7 +118,7 @@ func _ready():
func _physics_process(delta):
# Do not process physics if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Skip if required nodes are missing
@@ -132,14 +137,15 @@ func _physics_process(delta):
return
# check if our world scale has changed..
- var new_ws = ARVRServer.world_scale
+ var new_ws = XRServer.world_scale
if ws != new_ws:
ws = new_ws
$Teleport.mesh.size = Vector2(0.05 * ws, 1.0)
$Target.mesh.size = Vector2(ws, ws)
$Target/Player_figure.scale = Vector3(ws, ws, ws)
- if controller and controller.get_is_active() and controller.is_button_pressed(teleport_button):
+ if controller and controller.get_is_active() and \
+ controller.is_button_pressed(teleport_button_action):
if !is_teleporting:
is_teleporting = true
$Teleport.visible = true
@@ -147,19 +153,19 @@ func _physics_process(delta):
teleport_rotation = 0.0
# get our physics engine state
- var space = PhysicsServer.body_get_space(self.get_rid())
- var state = PhysicsServer.space_get_direct_state(space)
- var query = PhysicsShapeQueryParameters.new()
+ var space = PhysicsServer3D.body_get_space(self.get_rid())
+ var state = PhysicsServer3D.space_get_direct_state(space)
+ var query = PhysicsShapeQueryParameters3D.new()
# init stuff about our query that doesn't change
query.collision_mask = collision_mask
query.margin = get_safe_margin()
query.shape_rid = collision_shape.get_rid()
- # make a transform for rotating and offseting our shape, it's always
+ # make a transform for offsetting our shape, it's always
# lying on its side by default...
- var shape_transform = Transform(
- Basis(Vector3(1.0, 0.0, 0.0), deg2rad(90.0)),
+ var shape_transform = Transform3D(
+ Basis(),
Vector3(0.0, player_height / 2.0, 0.0))
# update location
@@ -176,7 +182,7 @@ func _physics_process(delta):
var cast_length = 0.0
var fine_tune = 1.0
var hit_something = false
- var max_slope_cos = cos(deg2rad(max_slope))
+ var max_slope_cos = cos(deg_to_rad(max_slope))
for i in range(1,26):
var new_cast_length = cast_length + (step_size / fine_tune)
var global_target = Vector3(0.0, 0.0, -new_cast_length)
@@ -186,15 +192,15 @@ func _physics_process(delta):
var t2 = t * t
# target to world space
- global_target = teleport_global_transform.xform(global_target)
+ global_target = teleport_global_transform * global_target
# adjust for gravity
global_target += down * t2
# test our new location for collisions
- query.transform = Transform(Basis(), global_target) * shape_transform
+ query.transform = Transform3D(Basis(), global_target) * shape_transform
var cast_result = state.collide_shape(query, 10)
- if cast_result.empty():
+ if cast_result.is_empty():
# we didn't collide with anything so check our next section...
cast_length = new_cast_length
target_global_origin = global_target
@@ -212,11 +218,13 @@ func _physics_process(delta):
is_on_floor = false
else:
# now we cast a ray downwards to see if we're on a surface
- var start_pos = target_global_origin + (Vector3.UP * 0.5 * player_height)
- var end_pos = target_global_origin - (Vector3.UP * 1.1 * player_height)
+ var ray_query = PhysicsRayQueryParameters3D.new()
+ ray_query.from = target_global_origin + (Vector3.UP * 0.5 * player_height)
+ ray_query.to = target_global_origin - (Vector3.UP * 1.1 * player_height)
+ ray_query.collision_mask = collision_mask
- var intersects = state.intersect_ray(start_pos, end_pos, [], collision_mask)
- if intersects.empty():
+ var intersects = state.intersect_ray(ray_query)
+ if intersects.is_empty():
is_on_floor = false
else:
# did we collide with a floor or a wall?
@@ -248,9 +256,9 @@ func _physics_process(delta):
break
# and just update our shader
- $Teleport.get_surface_material(0).set_shader_param("scale_t", 1.0 / strength)
- $Teleport.get_surface_material(0).set_shader_param("ws", ws)
- $Teleport.get_surface_material(0).set_shader_param("length", cast_length)
+ $Teleport.get_surface_override_material(0).set_shader_parameter("scale_t", 1.0 / strength)
+ $Teleport.get_surface_override_material(0).set_shader_parameter("ws", ws)
+ $Teleport.get_surface_override_material(0).set_shader_parameter("length", cast_length)
if hit_something:
var color = can_teleport_color
var normal = Vector3.UP
@@ -263,8 +271,7 @@ func _physics_process(delta):
color = cant_teleport_color
# check our axis to see if we need to rotate
- teleport_rotation += (delta * controller.get_joystick_axis(
- XRTools.Axis.VR_PRIMARY_X_AXIS) * -4.0)
+ teleport_rotation += (delta * controller.get_vector2(rotation_action).x * -4.0)
# update target and colour
var target_basis = Basis()
@@ -281,13 +288,13 @@ func _physics_process(delta):
last_target_transform.origin = target_global_origin + Vector3(0.0, 0.001, 0.0)
$Target.global_transform = last_target_transform
- $Teleport.get_surface_material(0).set_shader_param("mix_color", color)
- $Target.get_surface_material(0).albedo_color = color
+ $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", color)
+ $Target.get_surface_override_material(0).albedo_color = color
$Target.visible = can_teleport
else:
can_teleport = false
$Target.visible = false
- $Teleport.get_surface_material(0).set_shader_param("mix_color", no_collision_color)
+ $Teleport.get_surface_override_material(0).set_shader_parameter("mix_color", no_collision_color)
elif is_teleporting:
if can_teleport:
@@ -300,7 +307,7 @@ func _physics_process(delta):
# Find out our user's feet's transformation.
# The feet are on the ground, but have the same X,Z as the camera
var cam_transform = camera_node.transform
- var user_feet_transform = Transform()
+ var user_feet_transform = Transform3D()
user_feet_transform.origin = cam_transform.origin
user_feet_transform.origin.y = 0
@@ -322,21 +329,23 @@ func _physics_process(delta):
# This method verifies the teleport has a valid configuration.
-func _get_configuration_warning():
- # Verify we can find the ARVROrigin
- if !ARVRHelpers.get_arvr_origin(self):
- return "This node must be within a branch of an ARVROrigin node"
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
- # Verify we can find the ARVRCamera
- if !ARVRHelpers.get_arvr_camera(self):
- return "Unable to find ARVRCamera node"
+ # Verify we can find the XROrigin3D
+ if !XRHelpers.get_xr_origin(self):
+ warnings.append("This node must be within a branch of an XROrigin3D node")
- # Verify we can find the ARVRController
- if !ARVRHelpers.get_arvr_controller(self):
- return "This node must be within a branch of an ARVRController node"
+ # Verify we can find the XRCamera3D
+ if !XRHelpers.get_xr_camera(self):
+ warnings.append("Unable to find XRCamera3D node")
- # Pass basic validation
- return ""
+ # Verify we can find the XRController3D
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("This node must be within a branch of an XRController3D node")
+
+ # Return warnings
+ return warnings
# Set enabled property
@@ -368,16 +377,16 @@ func _update_player_height() -> void:
collision_shape.height = player_height - (2.0 * player_radius)
if capsule:
- capsule.mesh.mid_height = player_height - (2.0 * player_radius)
- capsule.translation = Vector3(0.0, player_height/2.0, 0.0)
+ capsule.mesh.height = player_height
+ capsule.position = Vector3(0.0, player_height/2.0, 0.0)
# Player radius update handler
func _update_player_radius():
if collision_shape:
- collision_shape.height = player_height - (2.0 * player_radius)
+ collision_shape.height = player_height
collision_shape.radius = player_radius
if capsule:
- capsule.mesh.mid_height = player_height - (2.0 * player_radius)
+ capsule.mesh.height = player_height
capsule.mesh.radius = player_radius
diff --git a/addons/godot-xr-tools/functions/function_teleport.tscn b/addons/godot-xr-tools/functions/function_teleport.tscn
index e87cf216..6138c811 100644
--- a/addons/godot-xr-tools/functions/function_teleport.tscn
+++ b/addons/godot-xr-tools/functions/function_teleport.tscn
@@ -1,48 +1,48 @@
-[gd_scene load_steps=9 format=2]
+[gd_scene load_steps=9 format=3 uid="uid://fiul51tsyoop"]
-[ext_resource path="res://addons/godot-xr-tools/materials/target.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/materials/capsule.tres" type="Material" id=2]
-[ext_resource path="res://addons/godot-xr-tools/materials/teleport.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_teleport.gd" type="Script" id=4]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/function_teleport.gd" id="1"]
+[ext_resource type="Material" uid="uid://bk72wfw25ff0v" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4"]
-[sub_resource type="PlaneMesh" id=1]
-size = Vector2( 0.05, 1 )
+[sub_resource type="PlaneMesh" id="1"]
+size = Vector2(0.05, 1)
subdivide_depth = 40
-[sub_resource type="PlaneMesh" id=2]
-size = Vector2( 1, 1 )
+[sub_resource type="PlaneMesh" id="2"]
+size = Vector2(1, 1)
-[sub_resource type="CapsuleMesh" id=3]
+[sub_resource type="CapsuleMesh" id="3"]
radius = 0.4
+height = 1.8
-[sub_resource type="CapsuleShape" id=4]
-radius = 0.1
+[sub_resource type="CapsuleShape3D" id="4"]
+radius = 0.05
height = 0.1
-[node name="FunctionTeleport" type="KinematicBody"]
+[node name="FunctionTeleport" type="CharacterBody3D"]
collision_layer = 524288
collision_mask = 1023
input_ray_pickable = false
-collision/safe_margin = 0.01
-script = ExtResource( 4 )
-no_collision_color = Color( 0.176471, 0.313726, 0.862745, 1 )
+script = ExtResource("1")
+no_collision_color = Color(0.176471, 0.313726, 0.862745, 1)
-[node name="Teleport" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
-material/0 = ExtResource( 3 )
+[node name="Teleport" type="MeshInstance3D" parent="."]
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2")
-[node name="Target" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -4.92359 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="Target" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, -4.92359)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("3")
-[node name="Player_figure" type="Position3D" parent="Target"]
+[node name="Player_figure" type="Marker3D" parent="Target"]
-[node name="Capsule" type="MeshInstance" parent="Target/Player_figure"]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.9, 0 )
-mesh = SubResource( 3 )
-material/0 = ExtResource( 2 )
+[node name="Capsule" type="MeshInstance3D" parent="Target/Player_figure"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
+mesh = SubResource("3")
+surface_material_override/0 = ExtResource("4")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, -1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0)
+shape = SubResource("4")
diff --git a/addons/godot-xr-tools/functions/movement_climb.gd b/addons/godot-xr-tools/functions/movement_climb.gd
index 8e91564a..29e0fdbc 100644
--- a/addons/godot-xr-tools/functions/movement_climb.gd
+++ b/addons/godot-xr-tools/functions/movement_climb.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementClimb
extends XRToolsMovementProvider
@@ -8,7 +8,7 @@ extends XRToolsMovementProvider
## This script provides climbing movement for the player. To add climbing
## support, the player must also have [XRToolsFunctionPickup] nodes attached
## to the left and right controllers, and an [XRToolsPlayerBody] under the
-## [ARVROrigin].
+## [XROrigin3D].
##
## Climbable objects can inherit from the climbable scene, or be [StaticBody]
## objects with the [XRToolsClimbable] script attached to them.
@@ -31,16 +31,16 @@ const SNAP_DISTANCE : float = 1.0
## Movement provider order
-export var order : int = 15
+@export var order : int = 15
## Push forward when flinging
-export var forward_push : float = 1.0
+@export var forward_push : float = 1.0
## Velocity multiplier when flinging up walls
-export var fling_multiplier : float = 1.0
+@export var fling_multiplier : float = 1.0
## Averages for velocity measurement
-export var velocity_averages : int = 5
+@export var velocity_averages : int = 5
## Left climbable
@@ -54,30 +54,33 @@ var _dominant : XRToolsFunctionPickup
# Velocity averager
-onready var _averager := XRToolsVelocityAveragerLinear.new(velocity_averages)
+@onready var _averager := XRToolsVelocityAveragerLinear.new(velocity_averages)
# Left pickup node
-onready var _left_pickup_node := XRToolsFunctionPickup.find_left(self)
+@onready var _left_pickup_node := XRToolsFunctionPickup.find_left(self)
# Right pickup node
-onready var _right_pickup_node := XRToolsFunctionPickup.find_right(self)
+@onready var _right_pickup_node := XRToolsFunctionPickup.find_right(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementClimb" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementClimb" or super(name)
## Called when the node enters the scene tree for the first time.
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Connect pickup funcitons
- if _left_pickup_node.connect("has_picked_up", self, "_on_left_picked_up"):
+ if _left_pickup_node.connect("has_picked_up", _on_left_picked_up):
push_error("Unable to connect left picked up signal")
- if _right_pickup_node.connect("has_picked_up", self, "_on_right_picked_up"):
+ if _right_pickup_node.connect("has_picked_up", _on_right_picked_up):
push_error("Unable to connect right picked up signal")
- if _left_pickup_node.connect("has_dropped", self, "_on_left_dropped"):
+ if _left_pickup_node.connect("has_dropped", _on_left_dropped):
push_error("Unable to connect left dropped signal")
- if _right_pickup_node.connect("has_dropped", self, "_on_right_dropped"):
+ if _right_pickup_node.connect("has_dropped", _on_right_dropped):
push_error("Unable to connect right dropped signal")
@@ -160,7 +163,7 @@ func _set_climbing(active: bool, player_body: XRToolsPlayerBody) -> void:
## Handler for left controller picked up
-func _on_left_picked_up(what : Spatial) -> void:
+func _on_left_picked_up(what : Node3D) -> void:
# Get the climbable
_left_climbable = what as XRToolsClimbable
@@ -172,7 +175,7 @@ func _on_left_picked_up(what : Spatial) -> void:
## Handler for right controller picked up
-func _on_right_picked_up(what : Spatial) -> void:
+func _on_right_picked_up(what : Node3D) -> void:
# Get the climbable
_right_climbable = what as XRToolsClimbable
@@ -208,18 +211,20 @@ func _on_right_dropped() -> void:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Verify the left controller pickup
if !XRToolsFunctionPickup.find_left(self):
- return "Unable to find left XRToolsFunctionPickup node"
+ warnings.append("Unable to find left XRToolsFunctionPickup node")
# Verify the right controller pickup
if !XRToolsFunctionPickup.find_right(self):
- return "Unable to find right XRToolsFunctionPickup node"
+ warnings.append("Unable to find right XRToolsFunctionPickup node")
# Verify velocity averages
if velocity_averages < 2:
- return "Minimum of 2 velocity averages needed"
+ warnings.append("Minimum of 2 velocity averages needed")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_climb.tscn b/addons/godot-xr-tools/functions/movement_climb.tscn
index 05be2f54..e6d60ced 100644
--- a/addons/godot-xr-tools/functions/movement_climb.tscn
+++ b/addons/godot-xr-tools/functions/movement_climb.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bxm1ply47vaan"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_climb.gd" id="1"]
[node name="MovementClimb" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_crouch.gd b/addons/godot-xr-tools/functions/movement_crouch.gd
index 42fa2544..0b4db5a6 100644
--- a/addons/godot-xr-tools/functions/movement_crouch.gd
+++ b/addons/godot-xr-tools/functions/movement_crouch.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementCrouch
extends XRToolsMovementProvider
@@ -6,7 +6,7 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Crouching
##
## This script works with the [XRToolsPlayerBody] attached to the players
-## [ARVROrigin].
+## [XROrigin3D].
##
## While the player presses the crounch button, the height is overridden to
## the specified crouch height.
@@ -20,16 +20,16 @@ enum CrouchType {
## Movement provider order
-export var order : int = 10
+@export var order : int = 10
## Crouch height
-export var crouch_height : float = 1.0
+@export var crouch_height : float = 1.0
## Crouch button
-export (XRTools.Buttons) var crouch_button : int = XRTools.Buttons.VR_PAD
+@export var crouch_button_action : String = "primary_click"
## Type of crouching
-export (CrouchType) var crouch_type : int = CrouchType.HOLD_TO_CROUCH
+@export var crouch_type : CrouchType = CrouchType.HOLD_TO_CROUCH
## Crouching flag
@@ -40,12 +40,12 @@ var _crouch_button_down : bool = false
# Controller node
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementCrouch" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementCrouch" or super(name)
# Perform jump movement
@@ -55,7 +55,7 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
return
# Detect crouch button down and pressed states
- var crouch_button_down := _controller.is_button_pressed(crouch_button) != 0
+ var crouch_button_down := _controller.is_button_pressed(crouch_button_action)
var crouch_button_pressed := crouch_button_down and !_crouch_button_down
_crouch_button_down = crouch_button_down
@@ -81,10 +81,12 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Check the controller node
- if !ARVRHelpers.get_arvr_controller(self):
- return "This node must be within a branch of an ARVRController node"
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("This node must be within a branch of an XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_crouch.tscn b/addons/godot-xr-tools/functions/movement_crouch.tscn
index b039295e..824cfca5 100644
--- a/addons/godot-xr-tools/functions/movement_crouch.tscn
+++ b/addons/godot-xr-tools/functions/movement_crouch.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://clt88d5d1dje4"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_crouch.gd" id="1"]
[node name="MovementCrouch" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_direct.gd b/addons/godot-xr-tools/functions/movement_direct.gd
index ad31d29c..5b88b8b7 100644
--- a/addons/godot-xr-tools/functions/movement_direct.gd
+++ b/addons/godot-xr-tools/functions/movement_direct.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementDirect
extends XRToolsMovementProvider
@@ -6,29 +6,32 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Direct Movement
##
## This script provides direct movement for the player. This script works
-## with the [XRToolsPlayerBody] attached to the players [ARVROrigin].
+## with the [XRToolsPlayerBody] attached to the players [XROrigin3D].
##
## The player may have multiple [XRToolsMovementDirect] nodes attached to
## different controllers to provide different types of direct movement.
## Movement provider order
-export var order : int = 10
+@export var order : int = 10
## Movement speed
-export var max_speed : float = 10.0
+@export var max_speed : float = 10.0
## If true, the player can strafe
-export var strafe : bool = false
+@export var strafe : bool = false
+
+## Input action for movement direction
+@export var input_action : String = "primary"
# Controller node
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementDirect" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementDirect" or super(name)
# Perform jump movement
@@ -38,13 +41,11 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
return
# Apply forwards/backwards ground control
- player_body.ground_control_velocity.y += _controller.get_joystick_axis(
- XRTools.Axis.VR_PRIMARY_Y_AXIS) * max_speed
+ player_body.ground_control_velocity.y += _controller.get_vector2(input_action).y * max_speed
# Apply left/right ground control
if strafe:
- player_body.ground_control_velocity.x += _controller.get_joystick_axis(
- XRTools.Axis.VR_PRIMARY_X_AXIS) * max_speed
+ player_body.ground_control_velocity.x += _controller.get_vector2(input_action).x * max_speed
# Clamp ground control
var length := player_body.ground_control_velocity.length()
@@ -53,22 +54,24 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Check the controller node
- if !ARVRHelpers.get_arvr_controller(self):
- return "This node must be within a branch of an ARVRController node"
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("This node must be within a branch of an XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
## Find the left [XRToolsMovementDirect] node.
##
## This function searches from the specified node for the left controller
-## [XRToolsMovementDirect] assuming the node is a sibling of the [ARVROrigin].
+## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D].
static func find_left(node : Node) -> XRToolsMovementDirect:
- return XRTools.find_child(
- ARVRHelpers.get_left_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_left_controller(node),
"*",
"XRToolsMovementDirect") as XRToolsMovementDirect
@@ -76,9 +79,9 @@ static func find_left(node : Node) -> XRToolsMovementDirect:
## Find the right [XRToolsMovementDirect] node.
##
## This function searches from the specified node for the right controller
-## [XRToolsMovementDirect] assuming the node is a sibling of the [ARVROrigin].
+## [XRToolsMovementDirect] assuming the node is a sibling of the [XROrigin3D].
static func find_right(node : Node) -> XRToolsMovementDirect:
- return XRTools.find_child(
- ARVRHelpers.get_right_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_right_controller(node),
"*",
"XRToolsMovementDirect") as XRToolsMovementDirect
diff --git a/addons/godot-xr-tools/functions/movement_direct.tscn b/addons/godot-xr-tools/functions/movement_direct.tscn
index 209ccc16..c58096bb 100644
--- a/addons/godot-xr-tools/functions/movement_direct.tscn
+++ b/addons/godot-xr-tools/functions/movement_direct.tscn
@@ -1,10 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bl2nuu3qhlb5k"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_direct.gd" id="1"]
[node name="MovementDirect" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
-enabled = null
-order = null
-max_speed = null
-strafe = null
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_flight.gd b/addons/godot-xr-tools/functions/movement_flight.gd
index c110ed51..2f9cbbd7 100644
--- a/addons/godot-xr-tools/functions/movement_flight.gd
+++ b/addons/godot-xr-tools/functions/movement_flight.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementFlight
extends XRToolsMovementProvider
@@ -57,58 +57,61 @@ enum FlightBearing {
## Movement provider order
-export var order : int = 30
+@export var order : int = 30
## Flight controller
-export (FlightController) var controller : int = FlightController.LEFT
+@export var controller : FlightController = FlightController.LEFT
## Flight toggle button
-export (XRTools.Buttons) var flight_button : int = XRTools.Buttons.VR_BUTTON_BY
+@export var flight_button : String = "by_button"
## Flight pitch control
-export (FlightPitch) var pitch : int = FlightPitch.CONTROLLER
+@export var pitch : FlightPitch = FlightPitch.CONTROLLER
## Flight bearing control
-export (FlightBearing) var bearing : int = FlightBearing.CONTROLLER
+@export var bearing : FlightBearing = FlightBearing.CONTROLLER
## Flight speed from control
-export var speed_scale : float = 5.0
+@export var speed_scale : float = 5.0
## Flight traction pulling flight velocity towards the controlled speed
-export var speed_traction : float = 3.0
+@export var speed_traction : float = 3.0
## Flight acceleration from control
-export var acceleration_scale : float = 0.0
+@export var acceleration_scale : float = 0.0
## Flight drag
-export var drag : float = 0.1
+@export var drag : float = 0.1
## Guidance effect (virtual fins/wings)
-export var guidance : float = 0.0
+@export var guidance : float = 0.0
## If true, flight movement is exclusive preventing further movement functions
-export var exclusive : bool = true
+@export var exclusive : bool = true
## Flight button state
var _flight_button : bool = false
## Flight controller
-var _controller : ARVRController
+var _controller : XRController3D
# Node references
-onready var _camera := ARVRHelpers.get_arvr_camera(self)
-onready var _left_controller := ARVRHelpers.get_left_controller(self)
-onready var _right_controller := ARVRHelpers.get_right_controller(self)
+@onready var _camera := XRHelpers.get_xr_camera(self)
+@onready var _left_controller := XRHelpers.get_left_controller(self)
+@onready var _right_controller := XRHelpers.get_right_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementFlight" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementFlight" or super(name)
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Get the flight controller
if controller == FlightController.LEFT:
_controller = _left_controller
@@ -165,20 +168,20 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
var side := forwards.cross(player_body.up_player_vector)
# Construct the target velocity
- var joy_forwards := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_Y_AXIS)
- var joy_side := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_X_AXIS)
+ var joy_forwards := _controller.get_vector2("primary").y
+ var joy_side := _controller.get_vector2("primary").x
var heading := forwards * joy_forwards + side * joy_side
# Calculate the flight velocity
var flight_velocity := player_body.velocity
flight_velocity *= 1.0 - drag * delta
- flight_velocity = lerp(flight_velocity, heading * speed_scale, speed_traction * delta)
+ flight_velocity = flight_velocity.lerp(heading * speed_scale, speed_traction * delta)
flight_velocity += heading * acceleration_scale * delta
# Apply virtual guidance effect
if guidance > 0.0:
var velocity_forwards := forwards * flight_velocity.length()
- flight_velocity = lerp(flight_velocity, velocity_forwards, guidance * delta)
+ flight_velocity = flight_velocity.lerp(velocity_forwards, guidance * delta)
# If exclusive then perform the exclusive move-and-slide
if exclusive:
@@ -206,18 +209,20 @@ func set_flying(active: bool) -> void:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Verify the camera
- if !ARVRHelpers.get_arvr_camera(self):
- return "Unable to find ARVRCamera"
+ if !XRHelpers.get_xr_camera(self):
+ warnings.append("Unable to find XRCamera3D")
# Verify the left controller
- if !ARVRHelpers.get_left_controller(self):
- return "Unable to find left ARVRController node"
+ if !XRHelpers.get_left_controller(self):
+ warnings.append("Unable to find left XRController3D node")
# Verify the right controller
- if !ARVRHelpers.get_right_controller(self):
- return "Unable to find left ARVRController node"
+ if !XRHelpers.get_right_controller(self):
+ warnings.append("Unable to find left XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_flight.tscn b/addons/godot-xr-tools/functions/movement_flight.tscn
index de534761..deb568c8 100644
--- a/addons/godot-xr-tools/functions/movement_flight.tscn
+++ b/addons/godot-xr-tools/functions/movement_flight.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://kyhaogt0a4q8"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_flight.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_flight.gd" id="1"]
[node name="MovementFlight" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_footstep.gd b/addons/godot-xr-tools/functions/movement_footstep.gd
index ae401484..d4c6f230 100644
--- a/addons/godot-xr-tools/functions/movement_footstep.gd
+++ b/addons/godot-xr-tools/functions/movement_footstep.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementFootstep
extends XRToolsMovementProvider
@@ -19,16 +19,16 @@ const AUDIO_POOL_SIZE := 3
## Movement provider order
-export var order : int = 1001
+@export var order : int = 1001
## Default XRToolsSurfaceAudioType when not overridden
-export var default_surface_audio_type : Resource
+@export var default_surface_audio_type : XRToolsSurfaceAudioType
## Speed at which the player is considered walking
-export var walk_speed := 0.4
+@export var walk_speed := 0.4
## Step per meter by time
-export var steps_per_meter = 1.0
+@export var steps_per_meter = 1.0
# step time
@@ -38,10 +38,10 @@ var step_time = 0.0
var _old_on_ground := true
# Node representing the location of the players foot
-var _foot_spatial : Spatial
+var _foot_spatial : Node3D
# Pool of idle AudioStreamPlayer3D nodes
-var _audio_pool_idle : Array
+var _audio_pool_idle : Array[AudioStreamPlayer3D]
# Last ground node
var _ground_node : Node
@@ -51,17 +51,20 @@ var _ground_node_audio_type : XRToolsSurfaceAudioType
## PlayerBody - Player Physics Body Script
-onready var player_body := XRToolsPlayerBody.find_instance(self)
+@onready var player_body := XRToolsPlayerBody.find_instance(self)
# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementFootstep" or .is_class(name)
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementFootstep" or super(name)
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Construct the foot spatial - we will move it around as the player moves.
- _foot_spatial = Spatial.new()
+ _foot_spatial = Node3D.new()
_foot_spatial.name = "FootSpatial"
add_child(_foot_spatial)
@@ -71,27 +74,25 @@ func _ready():
player.name = "PlayerCopy%d" % (i + 1)
_foot_spatial.add_child(player)
_audio_pool_idle.append(player)
- player.connect("finished", self, "_on_player_finished", [ player ])
+ player.finished.connect(_on_player_finished.bind(player))
# Set as always active
is_active = true
# Listen for the player jumping
- player_body.connect("player_jumped", self, "_on_player_jumped")
+ player_body.player_jumped.connect(_on_player_jumped)
# This method checks for configuration issues.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Verify player settings node exists
if not $PlayerSettings:
- return "Missing player settings node"
-
- # Verify hit sound
- if default_surface_audio_type and !default_surface_audio_type is XRToolsSurfaceAudioType:
- return "Default surface audio type is not an XRToolsSurfaceAudioType"
+ warnings.append("Missing player settings node")
- # No configuration issues detected
- return ""
+ # Return warnings
+ return warnings
func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled: bool):
@@ -132,10 +133,10 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
# Update the foot spatial to be where the players foot is
func _update_foot_spatial() -> void:
# Project the players camera down to the XZ plane (real-world space)
- var local_foot := Plane.PLANE_XZ.project(player_body.camera_node.translation)
+ var local_foot := Plane.PLANE_XZ.project(player_body.camera_node.position)
# Move the foot_spatial to the local foot in the global origin space
- _foot_spatial.global_translation = player_body.origin_node.global_transform.xform(local_foot)
+ _foot_spatial.global_position = player_body.origin_node.global_transform * local_foot
# Update the ground audio information
@@ -153,7 +154,7 @@ func _update_ground_audio() -> void:
return
# Find the surface audio for the ground (if any)
- var ground_audio : XRToolsSurfaceAudio = XRTools.find_child(
+ var ground_audio : XRToolsSurfaceAudio = XRTools.find_xr_child(
_ground_node, "*", "XRToolsSurfaceAudio")
if ground_audio:
_ground_node_audio_type = ground_audio.surface_audio_type
@@ -195,7 +196,7 @@ func _play_step_sound() -> void:
var idx := randi() % _ground_node_audio_type.walk_sounds.size()
# Pick the playback pitck
- var pitch := rand_range(
+ var pitch := randf_range(
_ground_node_audio_type.walk_pitch_minimum,
_ground_node_audio_type.walk_pitch_maximum)
@@ -214,7 +215,7 @@ func _play_sound(name : String, stream : AudioStream, pitch : float = 1.0) -> vo
return
# Emit the footstep signal
- emit_signal("footstep", name)
+ footstep.emit(name)
# Verify we have an audio player
if _audio_pool_idle.size() == 0:
@@ -238,7 +239,7 @@ func _on_player_finished(player : AudioStreamPlayer3D) -> void:
## This function searches from the specified node for an [XRToolsMovementFootstep]
## assuming the node is a sibling of the body under an [ARVROrigin].
static func find_instance(node: Node) -> XRToolsMovementFootstep:
- return XRTools.find_child(
- ARVRHelpers.get_arvr_origin(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_xr_origin(node),
"*",
"XRToolsMovementFootstep") as XRToolsMovementFootstep
diff --git a/addons/godot-xr-tools/functions/movement_footstep.tscn b/addons/godot-xr-tools/functions/movement_footstep.tscn
index 89ca3a17..f63cf54d 100644
--- a/addons/godot-xr-tools/functions/movement_footstep.tscn
+++ b/addons/godot-xr-tools/functions/movement_footstep.tscn
@@ -1,8 +1,8 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://0xlsitpu17r1"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_footstep.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_footstep.gd" id="1"]
[node name="MovementFootstep" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
[node name="PlayerSettings" type="AudioStreamPlayer3D" parent="."]
diff --git a/addons/godot-xr-tools/functions/movement_glide.gd b/addons/godot-xr-tools/functions/movement_glide.gd
index 0ac46730..2f1d4bcd 100644
--- a/addons/godot-xr-tools/functions/movement_glide.gd
+++ b/addons/godot-xr-tools/functions/movement_glide.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementGlide
extends XRToolsMovementProvider
@@ -6,7 +6,7 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Gliding
##
## This script provides glide mechanics for the player. This script works
-## with the [XRToolsPlayerBody] attached to the players [ARVROrigin].
+## with the [XRToolsPlayerBody] attached to the players [XROrigin3D].
##
## The player enables flying by moving the controllers apart further than
## 'glide_detect_distance'.
@@ -29,44 +29,44 @@ signal player_glide_end
signal player_flapped
## Movement provider order
-export var order : int = 35
+@export var order : int = 35
## Controller separation distance to register as glide
-export var glide_detect_distance : float = 1.0
+@export var glide_detect_distance : float = 1.0
## Minimum falling speed to be considered gliding
-export var glide_min_fall_speed : float = -1.5
+@export var glide_min_fall_speed : float = -1.5
## Glide falling speed
-export var glide_fall_speed : float = -2.0
+@export var glide_fall_speed : float = -2.0
## Glide forward speed
-export var glide_forward_speed : float = 12.0
+@export var glide_forward_speed : float = 12.0
## Slew rate to transition to gliding
-export var horizontal_slew_rate : float = 1.0
+@export var horizontal_slew_rate : float = 1.0
## Slew rate to transition to gliding
-export var vertical_slew_rate : float = 2.0
+@export var vertical_slew_rate : float = 2.0
## glide rotate with roll angle
-export var turn_with_roll : bool = false
+@export var turn_with_roll : bool = false
## Smooth turn speed in radians per second
-export var roll_turn_speed : float = 1
+@export var roll_turn_speed : float = 1
## Add vertical impulse by flapping controllers
-export var wings_impulse : bool = false
+@export var wings_impulse : bool = false
## Minimum velocity for flapping
-export var flap_min_speed : float = 0.3
+@export var flap_min_speed : float = 0.3
## Flapping force multiplier
-export var wings_force : float = 1.0
+@export var wings_force : float = 1.0
## Minimum distance from controllers to ARVRCamera to rearm flaps.
## if set to 0, you need to reach head level with hands to rearm flaps
-export var rearm_distance_offset : float = 0.2
+@export var rearm_distance_offset : float = 0.2
## Flap activated (when both controllers are near the ARVRCamera height)
@@ -81,18 +81,18 @@ var _has_controller_positions : bool = false
# Left controller
-onready var _left_controller := ARVRHelpers.get_left_controller(self)
+@onready var _left_controller := XRHelpers.get_left_controller(self)
# Right controller
-onready var _right_controller := ARVRHelpers.get_right_controller(self)
+@onready var _right_controller := XRHelpers.get_right_controller(self)
# ARVRCamera
-onready var _camera_node := ARVRHelpers.get_arvr_camera(self)
+@onready var _camera_node := XRHelpers.get_xr_camera(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementGlide" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementGlide" or super(name)
func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bool):
@@ -171,7 +171,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
player_body.rotate_player(roll_turn_speed * delta * angle)
# Set gliding based on hand separation
- var separation := left_to_right.length() / ARVRServer.world_scale
+ var separation := left_to_right.length() / XRServer.world_scale
_set_gliding(separation >= glide_detect_distance)
# Skip if not gliding
@@ -186,7 +186,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
var dir_forward := player_body.up_gravity_plane.project(
left_to_right.rotated(player_body.up_gravity_vector, PI/2)).normalized()
var forward_velocity := dir_forward * glide_forward_speed
- horizontal_velocity = lerp(horizontal_velocity, forward_velocity, horizontal_slew_rate * delta)
+ horizontal_velocity = horizontal_velocity.lerp(forward_velocity, horizontal_slew_rate * delta)
# Perform the glide
var glide_velocity := horizontal_velocity + vertical_velocity * player_body.up_gravity_vector
@@ -213,22 +213,24 @@ func _set_gliding(active: bool) -> void:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Verify the left controller
- if !ARVRHelpers.get_left_controller(self):
- return "Unable to find left ARVRController node"
+ if !XRHelpers.get_left_controller(self):
+ warnings.append("Unable to find left XRController3D node")
# Verify the right controller
- if !ARVRHelpers.get_right_controller(self):
- return "Unable to find right ARVRController node"
+ if !XRHelpers.get_right_controller(self):
+ warnings.append("Unable to find right XRController3D node")
# Check glide parameters
if glide_min_fall_speed > 0:
- return "Glide minimum fall speed must be zero or less"
+ warnings.append("Glide minimum fall speed must be zero or less")
if glide_fall_speed > 0:
- return "Glide fall speed must be zero or less"
+ warnings.append("Glide fall speed must be zero or less")
if glide_min_fall_speed < glide_fall_speed:
- return "Glide fall speed must be faster than minimum fall speed"
+ warnings.append("Glide fall speed must be faster than minimum fall speed")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_glide.tscn b/addons/godot-xr-tools/functions/movement_glide.tscn
index 372ff37a..9aed0f39 100644
--- a/addons/godot-xr-tools/functions/movement_glide.tscn
+++ b/addons/godot-xr-tools/functions/movement_glide.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://cvokcudrffkgc"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_glide.gd" id="1"]
[node name="MovementGlide" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_grapple.gd b/addons/godot-xr-tools/functions/movement_grapple.gd
index 141a8038..5bef0b1f 100644
--- a/addons/godot-xr-tools/functions/movement_grapple.gd
+++ b/addons/godot-xr-tools/functions/movement_grapple.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementGrapple
extends XRToolsMovementProvider
@@ -8,7 +8,7 @@ extends XRToolsMovementProvider
## This script provide simple grapple based movement - "bat hook" style
## where the player flings a rope to the target and swings on it.
## This script works with the [XRToolsPlayerBody] attached to the players
-## [ARVROrigin].
+## [XROrigin3D].
## Signal emitted when grapple starts
@@ -31,36 +31,36 @@ const DEFAULT_MASK := 0b0000_0000_0000_0000_0000_0000_0000_0001
## Movement provider order
-export var order : int = 20
+@export var order : int = 20
## Grapple length - use to adjust maximum distance for possible grapple hooking.
-export var grapple_length : float = 15.0
+@export var grapple_length : float = 15.0
## Grapple collision mask
-export (int, LAYERS_3D_PHYSICS) \
- var grapple_collision_mask : int = DEFAULT_MASK setget _set_grapple_collision_mask
+@export_flags_3d_physics \
+ var grapple_collision_mask : int = DEFAULT_MASK: set = _set_grapple_collision_mask
## Impulse speed applied to the player on first grapple
-export var impulse_speed : float = 10.0
+@export var impulse_speed : float = 10.0
## Winch speed applied to the player while the grapple is held
-export var winch_speed : float = 2.0
+@export var winch_speed : float = 2.0
## Probably need to add export variables for line size, maybe line material at
## some point so dev does not need to make children editable to do this.
## For now, right click on grapple node and make children editable to edit these
## facets.
-export var rope_width : float = 0.02
+@export var rope_width : float = 0.02
## Air friction while grappling
-export var friction : float = 0.1
+@export var friction : float = 0.1
## Grapple button (triggers grappling movement). Be sure this button does not
## conflict with other functions.
-export (XRTools.Buttons) var grapple_button_id : int = XRTools.Buttons.VR_TRIGGER
+@export var grapple_button_action : String = "trigger_click"
# Hook related variables
-var hook_object : Spatial = null
+var hook_object : Node3D = null
var hook_local := Vector3(0,0,0)
var hook_point := Vector3(0,0,0)
@@ -68,39 +68,42 @@ var hook_point := Vector3(0,0,0)
var _grapple_button := false
# Get line creation nodes
-onready var _line_helper : Spatial = $LineHelper
-onready var _line : CSGCylinder = $LineHelper/Line
+@onready var _line_helper : Node3D = $LineHelper
+@onready var _line : CSGCylinder3D = $LineHelper/Line
# Get Controller node - consider way to universalize this if user wanted to
# attach this to a gun instead of player's hand. Could consider variable to
# select controller instead.
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
# Get Raycast node
-onready var _grapple_raycast : RayCast = $Grapple_RayCast
+@onready var _grapple_raycast : RayCast3D = $Grapple_RayCast
# Get Grapple Target Node
-onready var _grapple_target : Spatial = $Grapple_Target
+@onready var _grapple_target : Node3D = $Grapple_Target
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementGrapple" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementGrapple" or super(name)
# Function run when node is added to scene
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Skip if running in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Ensure grapple length is valid
- var min_hook_length := 1.5 * ARVRServer.world_scale
+ var min_hook_length := 1.5 * XRServer.world_scale
if grapple_length < min_hook_length:
grapple_length = min_hook_length
# Set ray-cast
- _grapple_raycast.cast_to = Vector3(0, 0, -grapple_length) * ARVRServer.world_scale
+ _grapple_raycast.target_position = Vector3(0, 0, -grapple_length) * XRServer.world_scale
_grapple_raycast.collision_mask = grapple_collision_mask
# Deal with line
@@ -111,7 +114,7 @@ func _ready():
# Update grapple display objects
func _process(_delta: float):
# Skip if running in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Update grapple line
@@ -119,7 +122,7 @@ func _process(_delta: float):
var line_length := (hook_point - _controller.global_transform.origin).length()
_line_helper.look_at(hook_point, Vector3.UP)
_line.height = line_length
- _line.translation.z = line_length / -2
+ _line.position.z = line_length / -2
_line.visible = true
else:
_line.visible = false
@@ -142,7 +145,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
# Update grapple button
var old_grapple_button := _grapple_button
- _grapple_button = _controller.is_button_pressed(grapple_button_id)
+ _grapple_button = _controller.is_button_pressed(grapple_button_action)
# Enable/disable grappling
var do_impulse := false
@@ -151,7 +154,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
elif _grapple_button and !old_grapple_button and _grapple_raycast.is_colliding():
hook_object = _grapple_raycast.get_collider()
hook_point = _grapple_raycast.get_collision_point()
- hook_local = hook_object.global_transform.xform_inv(hook_point)
+ hook_local = hook_point * hook_object.global_transform
do_impulse = true
_set_grappling(true)
@@ -160,7 +163,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, disabled: bo
return
# Get hook direction
- hook_point = hook_object.global_transform.xform(hook_local)
+ hook_point = hook_object.global_transform * hook_local
var hook_vector := hook_point - _controller.global_transform.origin
var hook_length := hook_vector.length()
var hook_direction := hook_vector / hook_length
@@ -210,10 +213,12 @@ func _set_grappling(active: bool) -> void:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Check the controller node
- if !ARVRHelpers.get_arvr_controller(self):
- return "This node must be within a branch of an ARVRController node"
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("This node must be within a branch of an XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_grapple.tscn b/addons/godot-xr-tools/functions/movement_grapple.tscn
index 04ada5cc..a812f116 100644
--- a/addons/godot-xr-tools/functions/movement_grapple.tscn
+++ b/addons/godot-xr-tools/functions/movement_grapple.tscn
@@ -1,30 +1,28 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://c78tjrtiyqna8"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_grapple.gd" id="1"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="2_n6olo"]
-[sub_resource type="CubeMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
resource_local_to_scene = true
-size = Vector3( 0.05, 0.05, 0.05 )
+size = Vector3(0.05, 0.05, 0.05)
subdivide_depth = 20
-[node name="MovementGrapple" type="Spatial" groups=["movement_providers"]]
-script = ExtResource( 1 )
+[node name="MovementGrapple" type="Node3D" groups=["movement_providers"]]
+script = ExtResource("1")
-[node name="Grapple_RayCast" type="RayCast" parent="."]
-enabled = true
-cast_to = Vector3( 0, 0, -15 )
+[node name="Grapple_RayCast" type="RayCast3D" parent="."]
collision_mask = 3
-debug_shape_custom_color = Color( 0.862745, 0.278431, 0.278431, 1 )
+debug_shape_custom_color = Color(0.862745, 0.278431, 0.278431, 1)
debug_shape_thickness = 1
-[node name="Grapple_Target" type="MeshInstance" parent="."]
+[node name="Grapple_Target" type="MeshInstance3D" parent="."]
visible = false
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2_n6olo")
-[node name="LineHelper" type="Spatial" parent="."]
+[node name="LineHelper" type="Node3D" parent="."]
-[node name="Line" type="CSGCylinder" parent="LineHelper"]
-transform = Transform( 1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0 )
+[node name="Line" type="CSGCylinder3D" parent="LineHelper"]
+transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0)
radius = 0.02
diff --git a/addons/godot-xr-tools/functions/movement_jump.gd b/addons/godot-xr-tools/functions/movement_jump.gd
index 61317562..2ef5d2a9 100644
--- a/addons/godot-xr-tools/functions/movement_jump.gd
+++ b/addons/godot-xr-tools/functions/movement_jump.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementJump
extends XRToolsMovementProvider
@@ -6,27 +6,27 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Jumping
##
## This script provides jumping mechanics for the player. This script works
-## with the [XRToolsPlayerBody] attached to the players [ARVROrigin].
+## with the [XRToolsPlayerBody] attached to the players [XROrigin3D].
##
## The player enables jumping by attaching an [XRToolsMovementJump] as a
-## child of the appropriate [ARVRController], then configuring the jump button
+## child of the appropriate [XRController3D], then configuring the jump button
## and jump velocity.
## Movement provider order
-export var order : int = 20
+@export var order : int = 20
## Button to trigger jump
-export (XRTools.Buttons) var jump_button_id : int = XRTools.Buttons.VR_TRIGGER
+@export var jump_button_action : String = "trigger_click"
# Node references
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementJump" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementJump" or super(name)
# Perform jump movement
@@ -36,15 +36,17 @@ func physics_movement(_delta: float, player_body: XRToolsPlayerBody, _disabled:
return
# Request jump if the button is pressed
- if _controller.is_button_pressed(jump_button_id):
+ if _controller.is_button_pressed(jump_button_action):
player_body.request_jump()
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Check the controller node
- if !ARVRHelpers.get_arvr_controller(self):
- return "This node must be within a branch of an ARVRController node"
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("This node must be within a branch of an XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_jump.tscn b/addons/godot-xr-tools/functions/movement_jump.tscn
index f663e4e7..187612eb 100644
--- a/addons/godot-xr-tools/functions/movement_jump.tscn
+++ b/addons/godot-xr-tools/functions/movement_jump.tscn
@@ -1,7 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://c2q5phg8w08o"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_jump.gd" id="1"]
[node name="MovementJump" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
-jump_button_id = null
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.gd b/addons/godot-xr-tools/functions/movement_physical_jump.gd
index cacc6c2a..7839afc4 100644
--- a/addons/godot-xr-tools/functions/movement_physical_jump.gd
+++ b/addons/godot-xr-tools/functions/movement_physical_jump.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementPhysicalJump
extends XRToolsMovementProvider
@@ -20,22 +20,22 @@ extends XRToolsMovementProvider
## Movement provider order
-export var order : int = 20
+@export var order : int = 20
## If true, jumps are detected via the players body (through the camera)
-export var body_jump_enable : bool = true
+@export var body_jump_enable : bool = true
## If true, the player jump is as high as the physical jump(no ground physics)
-export var body_jump_player_only : bool = false
+@export var body_jump_player_only : bool = false
## Body jump detection threshold (M/S^2)
-export var body_jump_threshold : float = 2.5
+@export var body_jump_threshold : float = 2.5
## If true, jumps are detected via the players arms (through the controllers)
-export var arms_jump_enable : bool = false
+@export var arms_jump_enable : bool = false
## Arms jump detection threshold (M/S^2)
-export var arms_jump_threshold : float = 5.0
+@export var arms_jump_threshold : float = 5.0
# Node Positions
@@ -50,10 +50,10 @@ var _controller_right_velocity : SlidingAverage = SlidingAverage.new(5)
# Node references
-onready var _origin_node := ARVRHelpers.get_arvr_origin(self)
-onready var _camera_node := ARVRHelpers.get_arvr_camera(self)
-onready var _controller_left_node := ARVRHelpers.get_left_controller(self)
-onready var _controller_right_node := ARVRHelpers.get_right_controller(self)
+@onready var _origin_node := XRHelpers.get_xr_origin(self)
+@onready var _camera_node := XRHelpers.get_xr_camera(self)
+@onready var _controller_left_node := XRHelpers.get_left_controller(self)
+@onready var _controller_right_node := XRHelpers.get_right_controller(self)
# Sliding Average class
@@ -91,9 +91,9 @@ class SlidingAverage:
return _sum / _size
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementPhysicalJump" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementPhysicalJump" or super(name)
# Perform jump detection
@@ -108,25 +108,27 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Verify the camera
- if !ARVRHelpers.get_arvr_origin(self):
- return "This node must be within a branch of an ARVROrigin node"
+ if !XRHelpers.get_xr_origin(self):
+ warnings.append("This node must be within a branch of an XROrigin3D node")
# Verify the camera
- if !ARVRHelpers.get_arvr_camera(self):
- return "Unable to find ARVRCamera"
+ if !XRHelpers.get_xr_camera(self):
+ warnings.append("Unable to find XRCamera3D")
# Verify the left controller
- if !ARVRHelpers.get_left_controller(self):
- return "Unable to find left ARVRController node"
+ if !XRHelpers.get_left_controller(self):
+ warnings.append("Unable to find left XRController3D node")
# Verify the right controller
- if !ARVRHelpers.get_right_controller(self):
- return "Unable to find left ARVRController node"
+ if !XRHelpers.get_right_controller(self):
+ warnings.append("Unable to find left XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
# Detect the player jumping with their body (using the headset camera)
@@ -141,7 +143,7 @@ func _detect_body_jump(delta: float, player_body: XRToolsPlayerBody) -> void:
return;
# Correct for world-scale (convert to player units)
- camera_vel /= ARVRServer.world_scale
+ camera_vel /= XRServer.world_scale
# Clamp the camera instantaneous velocity to +/- 2x the jump threshold
camera_vel = clamp(camera_vel, -2.0 * body_jump_threshold, 2.0 * body_jump_threshold)
@@ -173,8 +175,8 @@ func _detect_arms_jump(delta: float, player_body: XRToolsPlayerBody) -> void:
return
# Correct for world-scale (convert to player units)
- controller_left_vel /= ARVRServer.world_scale
- controller_right_vel /= ARVRServer.world_scale
+ controller_left_vel /= XRServer.world_scale
+ controller_right_vel /= XRServer.world_scale
# Clamp the controller instantaneous velocity to +/- 2x the jump threshold
controller_left_vel = clamp(
diff --git a/addons/godot-xr-tools/functions/movement_physical_jump.tscn b/addons/godot-xr-tools/functions/movement_physical_jump.tscn
index 3eecde88..6386085d 100644
--- a/addons/godot-xr-tools/functions/movement_physical_jump.tscn
+++ b/addons/godot-xr-tools/functions/movement_physical_jump.tscn
@@ -1,7 +1,7 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://ckt118vcpmr6q"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_physical_jump.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_physical_jump.gd" id="1"]
[node name="MovementPhysicalJump" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
arms_jump_enable = true
diff --git a/addons/godot-xr-tools/functions/movement_provider.gd b/addons/godot-xr-tools/functions/movement_provider.gd
index d398233d..5ccc1a77 100644
--- a/addons/godot-xr-tools/functions/movement_provider.gd
+++ b/addons/godot-xr-tools/functions/movement_provider.gd
@@ -1,5 +1,6 @@
-tool
-class_name XRToolsMovementProvider, "res://addons/godot-xr-tools/editor/icons/movement_provider.svg"
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/movement_provider.svg")
+class_name XRToolsMovementProvider
extends Node
@@ -19,7 +20,7 @@ const PLAYER_BODY := preload("res://addons/godot-xr-tools/player/player_body.tsc
## Enable movement provider
-export var enabled : bool = true
+@export var enabled : bool = true
## If true, the movement provider is actively performing a move
@@ -29,30 +30,30 @@ var is_active := false
# If missing we need to add our [XRToolsPlayerBody]
func _create_player_body_node():
# get our origin node
- var arvr_origin := ARVRHelpers.get_arvr_origin(self)
- if !arvr_origin:
+ var xr_origin = XRHelpers.get_xr_origin(self)
+ if !xr_origin:
return
# Double check if it hasn't already been created by another movement function
var player_body := XRToolsPlayerBody.find_instance(self)
if !player_body:
# create our XRToolsPlayerBody node and add it into our tree
- player_body = PLAYER_BODY.instance()
+ player_body = PLAYER_BODY.instantiate()
player_body.set_name("PlayerBody")
- arvr_origin.add_child(player_body)
+ xr_origin.add_child(player_body)
player_body.set_owner(get_tree().get_edited_scene_root())
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementProvider" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementProvider"
# Function run when node is added to scene
func _ready():
# If we're in the editor, help the user out by creating our XRToolsPlayerBody node
# automatically when needed.
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
var player_body = XRToolsPlayerBody.find_instance(self)
if !player_body:
# This call needs to be deferred, we can't add nodes during scene construction
@@ -70,21 +71,23 @@ func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, _disabled:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
- # Verify we're within the tree of an ARVROrigin node
- if !ARVRHelpers.get_arvr_origin(self):
- return "This node must be within a branch on an ARVROrigin node"
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
+ # Verify we're within the tree of an XROrigin3D node
+ if !XRHelpers.get_xr_origin(self):
+ warnings.append("This node must be within a branch on an XROrigin3D node")
if !XRToolsPlayerBody.find_instance(self):
- return "Missing PlayerBody node on the ARVROrigin"
+ warnings.append("Missing PlayerBody node on the XROrigin3D")
# Verify movement provider is in the correct group
if !is_in_group("movement_providers"):
- return "Movement provider not in 'movement_providers' group"
+ warnings.append("Movement provider not in 'movement_providers' group")
# Verify order property exists
if !"order" in self:
- return "Movement provider does not expose an order property"
+ warnings.append("Movement provider does not expose an order property")
- # Passed basic validation
- return ""
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_sprint.gd b/addons/godot-xr-tools/functions/movement_sprint.gd
index 8330d306..6cd96b35 100644
--- a/addons/godot-xr-tools/functions/movement_sprint.gd
+++ b/addons/godot-xr-tools/functions/movement_sprint.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementSprint
extends XRToolsMovementProvider
@@ -10,7 +10,7 @@ extends XRToolsMovementProvider
##
## There will not be an error, there just will not be any reason for it to
## have any impact on the player. This node should be a direct child of
-## the [ARVROrigin] node rather than to a specific [ARVRController].
+## the [XROrigin3D] node rather than to a specific [XRController3D].
## Signal emitted when sprinting starts
@@ -35,23 +35,23 @@ enum SprintType {
## Type of sprinting
-export (SprintType) var sprint_type : int = SprintType.HOLD_TO_SPRINT
+@export var sprint_type : SprintType = SprintType.HOLD_TO_SPRINT
## Sprint speed multiplier (multiplier from speed set by direct movement node(s))
-export (float, 1.0, 4.0) var sprint_speed_multiplier : float = 2.0
+@export_range(1.0, 4.0) var sprint_speed_multiplier : float = 2.0
## Movement provider order
-export var order : int = 11
+@export var order : int = 11
## Sprint controller
-export (SprintController) var controller : int = SprintController.LEFT
+@export var controller : SprintController = SprintController.LEFT
## Sprint button
-export (XRTools.Buttons) var sprint_button : int = XRTools.Buttons.VR_PAD
+@export var sprint_button : String = "primary_click"
# Sprint controller
-var _controller : ARVRController
+var _controller : XRController3D
# Sprint button down state
var _sprint_button_down : bool = false
@@ -64,24 +64,27 @@ var _right_controller_original_max_speed : float = 0.0
# Variable used to cache left controller direct movement function, if any
-onready var _left_controller_direct_move := XRToolsMovementDirect.find_left(self)
+@onready var _left_controller_direct_move := XRToolsMovementDirect.find_left(self)
# Variable used to cache right controller direct movement function, if any
-onready var _right_controller_direct_move := XRToolsMovementDirect.find_right(self)
+@onready var _right_controller_direct_move := XRToolsMovementDirect.find_right(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementSprint" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementSprint" or super(name)
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Get the sprinting controller
if controller == SprintController.LEFT:
- _controller = ARVRHelpers.get_left_controller(self)
+ _controller = XRHelpers.get_left_controller(self)
else:
- _controller = ARVRHelpers.get_right_controller(self)
+ _controller = XRHelpers.get_right_controller(self)
# Perform sprinting
@@ -92,7 +95,7 @@ func physics_movement(_delta: float, _player_body: XRToolsPlayerBody, disabled:
return
# Detect sprint button down and pressed states
- var sprint_button_down := _controller.is_button_pressed(sprint_button) != 0
+ var sprint_button_down := _controller.is_button_pressed(sprint_button)
var sprint_button_pressed := sprint_button_down and !_sprint_button_down
_sprint_button_down = sprint_button_down
@@ -155,21 +158,12 @@ func set_sprinting(active: bool) -> void:
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Make sure player has at least one direct movement node
if !XRToolsMovementDirect.find_left(self) and !XRToolsMovementDirect.find_right(self):
- return "Unable to find XRToolsMovementDirect instance for player to support sprinting"
-
- # Call base class
- return ._get_configuration_warning()
+ warnings.append("Player missing XRToolsMovementDirect nodes")
-
-## Find an [XRToolsMovementSprint] node.
-##
-## This function searches from the specified node for an [XRToolsMovementSprint]
-## assuming the node is a sibling of the body under an [ARVROrigin].
-static func find_instance(node: Node) -> XRToolsMovementSprint:
- return XRTools.find_child(
- ARVRHelpers.get_arvr_origin(node),
- "*",
- "XRToolsMovementSprint") as XRToolsMovementSprint
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/functions/movement_sprint.tscn b/addons/godot-xr-tools/functions/movement_sprint.tscn
index 5a36a045..1d71468a 100644
--- a/addons/godot-xr-tools/functions/movement_sprint.tscn
+++ b/addons/godot-xr-tools/functions/movement_sprint.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://drs4eeq721ojn"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_sprint.gd" id="1"]
[node name="MovementSprint" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_turn.gd b/addons/godot-xr-tools/functions/movement_turn.gd
index 2f874998..b64b601e 100644
--- a/addons/godot-xr-tools/functions/movement_turn.gd
+++ b/addons/godot-xr-tools/functions/movement_turn.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementTurn
extends XRToolsMovementProvider
@@ -6,7 +6,7 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Turning
##
## This script provides turning support for the player. This script works
-## with the PlayerBody attached to the players [ARVROrigin].
+## with the PlayerBody attached to the players XROrigin3D.
## Movement mode
@@ -18,32 +18,34 @@ enum TurnMode {
## Movement provider order
-export var order : int = 5
+@export var order : int = 5
## Movement mode property
-export (TurnMode) var turn_mode = TurnMode.DEFAULT
+@export var turn_mode : TurnMode = TurnMode.DEFAULT
## Smooth turn speed in radians per second
-export var smooth_turn_speed : float = 2.0
+@export var smooth_turn_speed : float = 2.0
-## Seconds per step (at maximum turn rate), 0 for single turn
-export var step_turn_delay : float = 0.2
+## Seconds per step (at maximum turn rate)
+@export var step_turn_delay : float = 0.2
## Step turn angle in degrees
-export var step_turn_angle : float = 20.0
+@export var step_turn_angle : float = 20.0
+## Our directional input
+@export var input_action : String = "primary"
# Turn step accumulator
var _turn_step : float = 0.0
# Controller node
-onready var _controller := ARVRHelpers.get_arvr_controller(self)
+@onready var _controller := XRHelpers.get_xr_controller(self)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementTurn" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementTurn" or super(name)
# Perform jump movement
@@ -57,7 +59,7 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b
deadzone = XRTools.get_snap_turning_deadzone()
# Read the left/right joystick axis
- var left_right := _controller.get_joystick_axis(XRTools.Axis.VR_PRIMARY_X_AXIS)
+ var left_right := _controller.get_vector2(input_action).x
if abs(left_right) <= deadzone:
# Not turning
_turn_step = 0.0
@@ -81,17 +83,19 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b
# Turn one step in the requested direction
if step_turn_delay != 0.0:
_turn_step = step_turn_delay
- player_body.rotate_player(deg2rad(step_turn_angle) * sign(left_right))
+ player_body.rotate_player(deg_to_rad(step_turn_angle) * sign(left_right))
# This method verifies the movement provider has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := super()
+
# Check the controller node
- if !ARVRHelpers.get_arvr_controller(self):
- return "Unable to find ARVR Controller node"
+ if !XRHelpers.get_xr_controller(self):
+ warnings.append("Unable to find XRController3D node")
- # Call base class
- return ._get_configuration_warning()
+ # Return warnings
+ return warnings
# Test if snap turning should be used
diff --git a/addons/godot-xr-tools/functions/movement_turn.tscn b/addons/godot-xr-tools/functions/movement_turn.tscn
index 2933c621..8ae0f7d1 100644
--- a/addons/godot-xr-tools/functions/movement_turn.tscn
+++ b/addons/godot-xr-tools/functions/movement_turn.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://b6bk2pj8vbj28"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_turn.gd" id="1"]
[node name="MovementTurn" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.gd b/addons/godot-xr-tools/functions/movement_wall_walk.gd
index 4cfe6b10..47169a2e 100644
--- a/addons/godot-xr-tools/functions/movement_wall_walk.gd
+++ b/addons/godot-xr-tools/functions/movement_wall_walk.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementWallWalk
extends XRToolsMovementProvider
@@ -8,17 +8,16 @@ const DEFAULT_MASK := 0b0000_0000_0000_0000_0000_0000_0000_1000
## Wall walking provider order
-export var order : int = 25
+@export var order : int = 25
## Set our follow layer mask
-export (int, LAYERS_3D_PHYSICS) var follow_mask : int = DEFAULT_MASK
+@export_flags_3d_physics var follow_mask : int = DEFAULT_MASK
## Wall stick distance
-export var stick_distance : float = 1.0
+@export var stick_distance : float = 1.0
## Wall stick strength
-export var stick_strength : float = 9.8
-
+@export var stick_strength : float = 9.8
func physics_pre_movement(_delta: float, player_body: XRToolsPlayerBody):
@@ -29,8 +28,8 @@ func physics_pre_movement(_delta: float, player_body: XRToolsPlayerBody):
return
# Get the wall information
- var wall_node := wall_collision.collider
- var wall_normal := wall_collision.normal
+ var wall_node := wall_collision.get_collider()
+ var wall_normal := wall_collision.get_normal()
# Skip if the wall node doesn't have a collision layer
if not "collision_layer" in wall_node:
diff --git a/addons/godot-xr-tools/functions/movement_wall_walk.tscn b/addons/godot-xr-tools/functions/movement_wall_walk.tscn
index ad16a85e..664f3323 100644
--- a/addons/godot-xr-tools/functions/movement_wall_walk.tscn
+++ b/addons/godot-xr-tools/functions/movement_wall_walk.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bk6ban0hctyym"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wall_walk.gd" id="1"]
[node name="MovementWallWalk" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/functions/movement_wind.gd b/addons/godot-xr-tools/functions/movement_wind.gd
index d41c36e5..d24a345a 100644
--- a/addons/godot-xr-tools/functions/movement_wind.gd
+++ b/addons/godot-xr-tools/functions/movement_wind.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsMovementWind
extends XRToolsMovementProvider
@@ -6,7 +6,7 @@ extends XRToolsMovementProvider
## XR Tools Movement Provider for Wind
##
## This script provides wind mechanics for the player. This script works
-## with the [XRToolsPlayerBody] attached to the players [ARVROrigin].
+## with the [XRToolsPlayerBody] attached to the players [XROrigin3D].
##
## When the player enters an [XRToolsWindArea], the wind pushes the player
## around, and can even lift the player into the air.
@@ -21,17 +21,17 @@ const DEFAULT_MASK := 0b0000_0000_0000_1000_0000_0000_0000_0000
## Movement provider order
-export var order : int = 25
+@export var order : int = 25
## Drag multiplier for the player
-export var drag_multiplier : float = 1.0
+@export var drag_multiplier : float = 1.0
# Set our collision mask
-export (int, LAYERS_3D_PHYSICS) var collision_mask : int = DEFAULT_MASK setget set_collision_mask
+@export_flags_3d_physics var collision_mask : int = DEFAULT_MASK: set = set_collision_mask
# Wind detection area
-var _sense_area : Area
+var _sense_area : Area3D
# Array of wind areas the player is in
var _in_wind_areas := Array()
@@ -40,33 +40,36 @@ var _in_wind_areas := Array()
var _active_wind_area : XRToolsWindArea
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMovementWind" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMovementWind" or super(name)
# Called when the node enters the scene tree for the first time.
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Skip if running in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Skip if we don't have a camera
- var camera := ARVRHelpers.get_arvr_camera(self)
+ var camera := XRHelpers.get_xr_camera(self)
if !camera:
return
# Construct the sphere shape
- var sphere_shape := SphereShape.new()
+ var sphere_shape := SphereShape3D.new()
sphere_shape.radius = 0.3
# Construct the collision shape
- var collision_shape := CollisionShape.new()
+ var collision_shape := CollisionShape3D.new()
collision_shape.set_name("WindSensorShape")
collision_shape.shape = sphere_shape
# Construct the sense area
- _sense_area = Area.new()
+ _sense_area = Area3D.new()
_sense_area.set_name("WindSensorArea")
_sense_area.collision_mask = collision_mask
_sense_area.add_child(collision_shape)
@@ -75,8 +78,8 @@ func _ready():
camera.add_child(_sense_area)
# Subscribe to area notifications
- _sense_area.connect("area_entered", self, "_on_area_entered")
- _sense_area.connect("area_exited", self, "_on_area_exited")
+ _sense_area.area_entered.connect(_on_area_entered)
+ _sense_area.area_exited.connect(_on_area_exited)
func set_collision_mask(new_mask: int) -> void:
@@ -85,7 +88,7 @@ func set_collision_mask(new_mask: int) -> void:
_sense_area.collision_mask = collision_mask
-func _on_area_entered(area: Area):
+func _on_area_entered(area: Area3D):
# Skip if not wind area
var wind_area = area as XRToolsWindArea
if !wind_area:
@@ -99,7 +102,7 @@ func _on_area_entered(area: Area):
emit_signal("wind_area_changed", _active_wind_area)
-func _on_area_exited(area: Area):
+func _on_area_exited(area: Area3D):
# Erase from the wind area
_in_wind_areas.erase(area)
@@ -108,7 +111,7 @@ func _on_area_exited(area: Area):
return
# Select a new active wind area
- if _in_wind_areas.empty():
+ if _in_wind_areas.is_empty():
_active_wind_area = null
else:
_active_wind_area = _in_wind_areas.front()
@@ -124,9 +127,9 @@ func physics_movement(delta: float, player_body: XRToolsPlayerBody, _disabled: b
return
# Calculate the global wind velocity of the wind area
- var wind_velocity := _active_wind_area.global_transform.basis.xform(_active_wind_area.wind_vector)
+ var wind_velocity := _active_wind_area.global_transform.basis * _active_wind_area.wind_vector
# Drag the player into the wind
var drag_factor := _active_wind_area.drag * drag_multiplier * delta
drag_factor = clamp(drag_factor, 0.0, 1.0)
- player_body.velocity = lerp(player_body.velocity, wind_velocity, drag_factor)
+ player_body.velocity = player_body.velocity.lerp(wind_velocity, drag_factor)
diff --git a/addons/godot-xr-tools/functions/movement_wind.tscn b/addons/godot-xr-tools/functions/movement_wind.tscn
index 3a59c41e..2461b1aa 100644
--- a/addons/godot-xr-tools/functions/movement_wind.tscn
+++ b/addons/godot-xr-tools/functions/movement_wind.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bgts3vpmjn6bb"]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/functions/movement_wind.gd" id="1"]
[node name="MovementWind" type="Node" groups=["movement_providers"]]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn
index f59522b5..3a4374ca 100644
--- a/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn
+++ b/addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn
@@ -1,74 +1,81 @@
-[gd_scene load_steps=36 format=2]
+[gd_scene load_steps=37 format=3 uid="uid://the6y7swe6j0"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip.anim" type="Animation" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Hold.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.anim" type="Animation" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Horns.anim" type="Animation" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Cup.anim" type="Animation" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Default pose.anim" type="Animation" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.anim" type="Animation" id=8]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.anim" type="Animation" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=10]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim" type="Animation" id=11]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Straight.anim" type="Animation" id=12]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.anim" type="Animation" id=13]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.anim" type="Animation" id=14]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.anim" type="Animation" id=15]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Surfer.anim" type="Animation" id=16]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Thumb.anim" type="Animation" id=17]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Metal.anim" type="Animation" id=18]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.anim" type="Animation" id=19]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim" type="Animation" id=20]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/PingPong.anim" type="Animation" id=21]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Middle.anim" type="Animation" id=22]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim" type="Animation" id=23]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim" type="Animation" id=24]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.anim" type="Animation" id=25]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/OK.anim" type="Animation" id=26]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinky.anim" type="Animation" id=27]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Peace.anim" type="Animation" id=28]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Ring.anim" type="Animation" id=29]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Rounded.anim" type="Animation" id=30]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.anim" type="Animation" id=31]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.anim" type="Animation" id=32]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim" type="Animation" id=33]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.anim" type="Animation" id=34]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pistol.anim" type="Animation" id=35]
+[ext_resource type="Animation" uid="uid://dgfeikrugfewi" path="res://addons/godot-xr-tools/hands/animations/left/Cup.res" id="1_7svyl"]
+[ext_resource type="Animation" uid="uid://dlxa6f6hwurka" path="res://addons/godot-xr-tools/hands/animations/left/Default pose.res" id="2_ykhfd"]
+[ext_resource type="Animation" uid="uid://dqa0h82y3qn1t" path="res://addons/godot-xr-tools/hands/animations/left/Grip 1.res" id="3_y80ds"]
+[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="4_1nbr8"]
+[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="5_28lp1"]
+[ext_resource type="Animation" uid="uid://db62hs5s4n2b3" path="res://addons/godot-xr-tools/hands/animations/left/Grip 4.res" id="6_uj648"]
+[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="7_yxjeh"]
+[ext_resource type="Animation" uid="uid://nq3xh1olqipq" path="res://addons/godot-xr-tools/hands/animations/left/Grip Shaft.res" id="8_i0ro5"]
+[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="9_811qe"]
+[ext_resource type="Animation" uid="uid://bi1l6lre2w2lp" path="res://addons/godot-xr-tools/hands/animations/left/Hold.res" id="10_o5u3q"]
+[ext_resource type="Animation" uid="uid://c3e6h0rv2uw2d" path="res://addons/godot-xr-tools/hands/animations/left/Horns.res" id="11_i2b8g"]
+[ext_resource type="Animation" uid="uid://dfekure1r6q13" path="res://addons/godot-xr-tools/hands/animations/left/Metal.res" id="12_yoig6"]
+[ext_resource type="Animation" uid="uid://b0rhk4r0r0t32" path="res://addons/godot-xr-tools/hands/animations/left/Middle.res" id="13_kvhwh"]
+[ext_resource type="Animation" uid="uid://f5k0gh4qnmv5" path="res://addons/godot-xr-tools/hands/animations/left/OK.res" id="14_ofab3"]
+[ext_resource type="Animation" uid="uid://1nlkfvitq7ku" path="res://addons/godot-xr-tools/hands/animations/left/Peace.res" id="15_a4q3y"]
+[ext_resource type="Animation" uid="uid://dhjb0e334tfwl" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Flat.res" id="16_ixe2d"]
+[ext_resource type="Animation" uid="uid://dkjsnihi81b7p" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Large.res" id="17_oifug"]
+[ext_resource type="Animation" uid="uid://bn0fdhe2jwq3h" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Middle.res" id="18_2ic2e"]
+[ext_resource type="Animation" uid="uid://bo1b8w0s4ci81" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Ring.res" id="19_4a8v4"]
+[ext_resource type="Animation" uid="uid://m5x2m8x3tcel" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Tight.res" id="20_ugc01"]
+[ext_resource type="Animation" uid="uid://fi23m6i7orhw" path="res://addons/godot-xr-tools/hands/animations/left/Pinch Up.res" id="21_l3kgg"]
+[ext_resource type="Animation" uid="uid://c8qmcuyaltdnw" path="res://addons/godot-xr-tools/hands/animations/left/PingPong.res" id="22_j83er"]
+[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="23_sm4sd"]
+[ext_resource type="Animation" uid="uid://ddbo6ioa282en" path="res://addons/godot-xr-tools/hands/animations/left/Pistol.res" id="24_r4kss"]
+[ext_resource type="Animation" uid="uid://brkptjihht3ae" path="res://addons/godot-xr-tools/hands/animations/left/Ring.res" id="25_2ncut"]
+[ext_resource type="Animation" uid="uid://cnng6xumhw7cx" path="res://addons/godot-xr-tools/hands/animations/left/Rounded.res" id="26_02lfv"]
+[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="27_o5si3"]
+[ext_resource type="Animation" uid="uid://cc6phxovf1ban" path="res://addons/godot-xr-tools/hands/animations/left/Sign 2.res" id="28_ble5k"]
+[ext_resource type="Animation" uid="uid://ohthjp8qbcc4" path="res://addons/godot-xr-tools/hands/animations/left/Sign 3.res" id="29_twq1x"]
+[ext_resource type="Animation" uid="uid://dmx42g64577g5" path="res://addons/godot-xr-tools/hands/animations/left/Sign 4.res" id="30_eyeuv"]
+[ext_resource type="Animation" uid="uid://dhsoxntrktx0p" path="res://addons/godot-xr-tools/hands/animations/left/Sign 5.res" id="31_50jrs"]
+[ext_resource type="Animation" uid="uid://c0u2a3yc2vhg8" path="res://addons/godot-xr-tools/hands/animations/left/Sign_Point.res" id="32_7v122"]
+[ext_resource type="Animation" uid="uid://4g211my0hoiw" path="res://addons/godot-xr-tools/hands/animations/left/Straight.res" id="33_m3lif"]
+[ext_resource type="Animation" uid="uid://d06l7hygl4qt3" path="res://addons/godot-xr-tools/hands/animations/left/Surfer.res" id="34_b3p10"]
+[ext_resource type="Animation" uid="uid://bxei4oebd4hu3" path="res://addons/godot-xr-tools/hands/animations/left/Thumb.res" id="35_huikq"]
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_kw48d"]
+_data = {
+"Cup": ExtResource("1_7svyl"),
+"Default pose": ExtResource("2_ykhfd"),
+"Grip": ExtResource("9_811qe"),
+"Grip 1": ExtResource("3_y80ds"),
+"Grip 2": ExtResource("4_1nbr8"),
+"Grip 3": ExtResource("5_28lp1"),
+"Grip 4": ExtResource("6_uj648"),
+"Grip 5": ExtResource("7_yxjeh"),
+"Grip Shaft": ExtResource("8_i0ro5"),
+"Hold": ExtResource("10_o5u3q"),
+"Horns": ExtResource("11_i2b8g"),
+"Metal": ExtResource("12_yoig6"),
+"Middle": ExtResource("13_kvhwh"),
+"OK": ExtResource("14_ofab3"),
+"Peace": ExtResource("15_a4q3y"),
+"Pinch Flat": ExtResource("16_ixe2d"),
+"Pinch Large": ExtResource("17_oifug"),
+"Pinch Middle": ExtResource("18_2ic2e"),
+"Pinch Ring": ExtResource("19_4a8v4"),
+"Pinch Tight": ExtResource("20_ugc01"),
+"Pinch Up": ExtResource("21_l3kgg"),
+"PingPong": ExtResource("22_j83er"),
+"Pinky": ExtResource("23_sm4sd"),
+"Pistol": ExtResource("24_r4kss"),
+"Ring": ExtResource("25_2ncut"),
+"Rounded": ExtResource("26_02lfv"),
+"Sign 1": ExtResource("27_o5si3"),
+"Sign 2": ExtResource("28_ble5k"),
+"Sign 3": ExtResource("29_twq1x"),
+"Sign 4": ExtResource("30_eyeuv"),
+"Sign 5": ExtResource("31_50jrs"),
+"Sign_Point": ExtResource("32_7v122"),
+"Straight": ExtResource("33_m3lif"),
+"Surfer": ExtResource("34_b3p10"),
+"Thumb": ExtResource("35_huikq")
+}
[node name="AnimationPlayer" type="AnimationPlayer"]
-anims/Cup = ExtResource( 5 )
-"anims/Default pose" = ExtResource( 7 )
-anims/Grip = ExtResource( 1 )
-"anims/Grip 1" = ExtResource( 9 )
-"anims/Grip 2" = ExtResource( 10 )
-"anims/Grip 3" = ExtResource( 3 )
-"anims/Grip 4" = ExtResource( 8 )
-"anims/Grip 5" = ExtResource( 6 )
-"anims/Grip Shaft" = ExtResource( 11 )
-anims/Hold = ExtResource( 2 )
-anims/Horns = ExtResource( 4 )
-anims/Metal = ExtResource( 18 )
-anims/Middle = ExtResource( 22 )
-anims/OK = ExtResource( 26 )
-anims/Peace = ExtResource( 28 )
-"anims/Pinch Flat" = ExtResource( 23 )
-"anims/Pinch Large" = ExtResource( 19 )
-"anims/Pinch Middle" = ExtResource( 20 )
-"anims/Pinch Ring" = ExtResource( 33 )
-"anims/Pinch Tight" = ExtResource( 24 )
-"anims/Pinch Up" = ExtResource( 25 )
-anims/PingPong = ExtResource( 21 )
-anims/Pinky = ExtResource( 27 )
-anims/Pistol = ExtResource( 35 )
-anims/Ring = ExtResource( 29 )
-anims/Rounded = ExtResource( 30 )
-"anims/Sign 1" = ExtResource( 32 )
-"anims/Sign 2" = ExtResource( 31 )
-"anims/Sign 3" = ExtResource( 34 )
-"anims/Sign 4" = ExtResource( 13 )
-"anims/Sign 5" = ExtResource( 14 )
-anims/Sign_Point = ExtResource( 15 )
-anims/Straight = ExtResource( 12 )
-anims/Surfer = ExtResource( 16 )
-anims/Thumb = ExtResource( 17 )
+libraries = {
+"": SubResource("AnimationLibrary_kw48d")
+}
diff --git a/addons/godot-xr-tools/hands/animations/left/Cup.anim b/addons/godot-xr-tools/hands/animations/left/Cup.anim
deleted file mode 100644
index 3639e931..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Cup.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Cup.res b/addons/godot-xr-tools/hands/animations/left/Cup.res
new file mode 100644
index 00000000..e9d655af
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Cup.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Default pose.anim b/addons/godot-xr-tools/hands/animations/left/Default pose.anim
deleted file mode 100644
index fc098572..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Default pose.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Default pose.res b/addons/godot-xr-tools/hands/animations/left/Default pose.res
new file mode 100644
index 00000000..ac2acd59
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Default pose.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 1.anim b/addons/godot-xr-tools/hands/animations/left/Grip 1.anim
deleted file mode 100644
index b6f7340f..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip 1.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 1.res b/addons/godot-xr-tools/hands/animations/left/Grip 1.res
new file mode 100644
index 00000000..690ade76
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 1.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 2.anim b/addons/godot-xr-tools/hands/animations/left/Grip 2.anim
deleted file mode 100644
index a2281372..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip 2.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 2.res b/addons/godot-xr-tools/hands/animations/left/Grip 2.res
new file mode 100644
index 00000000..3d798365
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 2.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 3.anim b/addons/godot-xr-tools/hands/animations/left/Grip 3.anim
deleted file mode 100644
index dade489e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip 3.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 3.res b/addons/godot-xr-tools/hands/animations/left/Grip 3.res
new file mode 100644
index 00000000..2330310f
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 3.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 4.anim b/addons/godot-xr-tools/hands/animations/left/Grip 4.anim
deleted file mode 100644
index ca563622..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip 4.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 4.res b/addons/godot-xr-tools/hands/animations/left/Grip 4.res
new file mode 100644
index 00000000..7b7fa9de
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 4.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 5.anim b/addons/godot-xr-tools/hands/animations/left/Grip 5.anim
deleted file mode 100644
index e4b0ac58..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip 5.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip 5.res b/addons/godot-xr-tools/hands/animations/left/Grip 5.res
new file mode 100644
index 00000000..4eb375a0
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip 5.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim
deleted file mode 100644
index 8d711bf0..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip Shaft.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res
new file mode 100644
index 00000000..65bbbe2f
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip Shaft.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip.anim b/addons/godot-xr-tools/hands/animations/left/Grip.anim
deleted file mode 100644
index f61a9db1..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Grip.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Grip.res b/addons/godot-xr-tools/hands/animations/left/Grip.res
new file mode 100644
index 00000000..5a0e5243
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Grip.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Hold.anim b/addons/godot-xr-tools/hands/animations/left/Hold.anim
deleted file mode 100644
index 44981daf..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Hold.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Hold.res b/addons/godot-xr-tools/hands/animations/left/Hold.res
new file mode 100644
index 00000000..3634f038
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Hold.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Horns.anim b/addons/godot-xr-tools/hands/animations/left/Horns.anim
deleted file mode 100644
index 0ee57aca..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Horns.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Horns.res b/addons/godot-xr-tools/hands/animations/left/Horns.res
new file mode 100644
index 00000000..6c1afa21
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Horns.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Metal.anim b/addons/godot-xr-tools/hands/animations/left/Metal.anim
deleted file mode 100644
index 0c6b246f..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Metal.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Metal.res b/addons/godot-xr-tools/hands/animations/left/Metal.res
new file mode 100644
index 00000000..d05434ca
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Metal.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Middle.anim b/addons/godot-xr-tools/hands/animations/left/Middle.anim
deleted file mode 100644
index 12e5f516..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Middle.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Middle.res b/addons/godot-xr-tools/hands/animations/left/Middle.res
new file mode 100644
index 00000000..4c1d2302
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Middle.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/OK.anim b/addons/godot-xr-tools/hands/animations/left/OK.anim
deleted file mode 100644
index c281986e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/OK.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/OK.res b/addons/godot-xr-tools/hands/animations/left/OK.res
new file mode 100644
index 00000000..96e2da2a
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/OK.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Peace.anim b/addons/godot-xr-tools/hands/animations/left/Peace.anim
deleted file mode 100644
index 68259ab7..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Peace.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Peace.res b/addons/godot-xr-tools/hands/animations/left/Peace.res
new file mode 100644
index 00000000..2ae48b16
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Peace.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim
deleted file mode 100644
index 692cfb78..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Flat.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res
new file mode 100644
index 00000000..5f222d33
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Flat.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Large.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Large.anim
deleted file mode 100644
index 47f847c8..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Large.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Large.res b/addons/godot-xr-tools/hands/animations/left/Pinch Large.res
new file mode 100644
index 00000000..ff08be05
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Large.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim
deleted file mode 100644
index 2958cf67..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res
new file mode 100644
index 00000000..684819bb
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Middle.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim
deleted file mode 100644
index 666b4793..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res
new file mode 100644
index 00000000..0b953fc4
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Ring.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim
deleted file mode 100644
index 3a72d75a..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res
new file mode 100644
index 00000000..b8f5d009
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Tight.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Up.anim b/addons/godot-xr-tools/hands/animations/left/Pinch Up.anim
deleted file mode 100644
index f5d5ed92..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinch Up.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinch Up.res b/addons/godot-xr-tools/hands/animations/left/Pinch Up.res
new file mode 100644
index 00000000..58b935e8
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinch Up.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/PingPong.anim b/addons/godot-xr-tools/hands/animations/left/PingPong.anim
deleted file mode 100644
index e14b6368..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/PingPong.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/PingPong.res b/addons/godot-xr-tools/hands/animations/left/PingPong.res
new file mode 100644
index 00000000..999c6a90
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/PingPong.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinky.anim b/addons/godot-xr-tools/hands/animations/left/Pinky.anim
deleted file mode 100644
index f790f44f..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pinky.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pinky.res b/addons/godot-xr-tools/hands/animations/left/Pinky.res
new file mode 100644
index 00000000..73fbcc46
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pinky.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pistol.anim b/addons/godot-xr-tools/hands/animations/left/Pistol.anim
deleted file mode 100644
index b091689c..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Pistol.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Pistol.res b/addons/godot-xr-tools/hands/animations/left/Pistol.res
new file mode 100644
index 00000000..e8aeb777
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Pistol.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Ring.anim b/addons/godot-xr-tools/hands/animations/left/Ring.anim
deleted file mode 100644
index 6a870754..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Ring.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Ring.res b/addons/godot-xr-tools/hands/animations/left/Ring.res
new file mode 100644
index 00000000..7e2fa722
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Ring.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Rounded.anim b/addons/godot-xr-tools/hands/animations/left/Rounded.anim
deleted file mode 100644
index 25f8848d..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Rounded.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Rounded.res b/addons/godot-xr-tools/hands/animations/left/Rounded.res
new file mode 100644
index 00000000..e7375481
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Rounded.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 1.anim b/addons/godot-xr-tools/hands/animations/left/Sign 1.anim
deleted file mode 100644
index e6f6b2be..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign 1.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 1.res b/addons/godot-xr-tools/hands/animations/left/Sign 1.res
new file mode 100644
index 00000000..fb7d6de0
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 1.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 2.anim b/addons/godot-xr-tools/hands/animations/left/Sign 2.anim
deleted file mode 100644
index 20b17579..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign 2.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 2.res b/addons/godot-xr-tools/hands/animations/left/Sign 2.res
new file mode 100644
index 00000000..b0a774ad
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 2.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 3.anim b/addons/godot-xr-tools/hands/animations/left/Sign 3.anim
deleted file mode 100644
index 77999747..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign 3.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 3.res b/addons/godot-xr-tools/hands/animations/left/Sign 3.res
new file mode 100644
index 00000000..4564fddd
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 3.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 4.anim b/addons/godot-xr-tools/hands/animations/left/Sign 4.anim
deleted file mode 100644
index 9ab66d78..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign 4.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 4.res b/addons/godot-xr-tools/hands/animations/left/Sign 4.res
new file mode 100644
index 00000000..251f28c2
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 4.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 5.anim b/addons/godot-xr-tools/hands/animations/left/Sign 5.anim
deleted file mode 100644
index 29520cf8..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign 5.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign 5.res b/addons/godot-xr-tools/hands/animations/left/Sign 5.res
new file mode 100644
index 00000000..3205e249
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign 5.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign_Point.anim b/addons/godot-xr-tools/hands/animations/left/Sign_Point.anim
deleted file mode 100644
index d2ef6072..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Sign_Point.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Sign_Point.res b/addons/godot-xr-tools/hands/animations/left/Sign_Point.res
new file mode 100644
index 00000000..f3346f05
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Sign_Point.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Straight.anim b/addons/godot-xr-tools/hands/animations/left/Straight.anim
deleted file mode 100644
index 1a1b0869..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Straight.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Straight.res b/addons/godot-xr-tools/hands/animations/left/Straight.res
new file mode 100644
index 00000000..9b1918d6
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Straight.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Surfer.anim b/addons/godot-xr-tools/hands/animations/left/Surfer.anim
deleted file mode 100644
index 3f17542e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Surfer.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Surfer.res b/addons/godot-xr-tools/hands/animations/left/Surfer.res
new file mode 100644
index 00000000..d4b03e48
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Surfer.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Thumb.anim b/addons/godot-xr-tools/hands/animations/left/Thumb.anim
deleted file mode 100644
index 4ef925f8..00000000
Binary files a/addons/godot-xr-tools/hands/animations/left/Thumb.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/left/Thumb.res b/addons/godot-xr-tools/hands/animations/left/Thumb.res
new file mode 100644
index 00000000..1b40d9fb
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/left/Thumb.res differ
diff --git a/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres b/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres
index 0bba1f4f..ae6f20af 100644
--- a/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres
+++ b/addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres
@@ -1,32 +1,32 @@
-[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=2]
+[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=3 uid="uid://dl8yf7ipqotd1"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="1"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="2"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="3"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="4"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="5"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
[resource]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "output", 0, "Grip" ]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("1")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("2")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("3")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("4")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("5")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
diff --git a/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn b/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn
index df41f937..a18d2d2a 100644
--- a/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn
+++ b/addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn
@@ -1,74 +1,81 @@
-[gd_scene load_steps=36 format=2]
+[gd_scene load_steps=37 format=3 uid="uid://bxipj7hyjwy6f"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim" type="Animation" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Hold.anim" type="Animation" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Horns.anim" type="Animation" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 1.anim" type="Animation" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.anim" type="Animation" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Default pose.anim" type="Animation" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.anim" type="Animation" id=8]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Cup.anim" type="Animation" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.anim" type="Animation" id=10]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=11]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign_Point.anim" type="Animation" id=12]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 5.anim" type="Animation" id=13]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Straight.anim" type="Animation" id=14]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Surfer.anim" type="Animation" id=15]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 2.anim" type="Animation" id=16]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 3.anim" type="Animation" id=17]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 4.anim" type="Animation" id=18]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Thumb.anim" type="Animation" id=19]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim" type="Animation" id=20]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Large.anim" type="Animation" id=21]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Middle.anim" type="Animation" id=22]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Peace.anim" type="Animation" id=23]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Metal.anim" type="Animation" id=24]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/OK.anim" type="Animation" id=25]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim" type="Animation" id=26]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim" type="Animation" id=27]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Rounded.anim" type="Animation" id=28]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Tight.anim" type="Animation" id=29]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/PingPong.anim" type="Animation" id=30]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinch Up.anim" type="Animation" id=31]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pistol.anim" type="Animation" id=32]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinky.anim" type="Animation" id=33]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Ring.anim" type="Animation" id=34]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.anim" type="Animation" id=35]
+[ext_resource type="Animation" uid="uid://do01jton6rk42" path="res://addons/godot-xr-tools/hands/animations/right/Cup.res" id="1_mq7eu"]
+[ext_resource type="Animation" uid="uid://ky28birj4su6" path="res://addons/godot-xr-tools/hands/animations/right/Default pose.res" id="2_kxlaj"]
+[ext_resource type="Animation" uid="uid://daqddcrbpam0c" path="res://addons/godot-xr-tools/hands/animations/right/Grip 1.res" id="3_5xubn"]
+[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="4_y3ovo"]
+[ext_resource type="Animation" uid="uid://rs7vpclot07o" path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.res" id="5_0d4pg"]
+[ext_resource type="Animation" uid="uid://d1xnpyc08njjx" path="res://addons/godot-xr-tools/hands/animations/right/Grip 4.res" id="6_nabm2"]
+[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="7_gy2yb"]
+[ext_resource type="Animation" uid="uid://c8dghcftg1thx" path="res://addons/godot-xr-tools/hands/animations/right/Grip Shaft.res" id="8_ffwxq"]
+[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="9_y16mo"]
+[ext_resource type="Animation" uid="uid://bv5tuc1kjv0k5" path="res://addons/godot-xr-tools/hands/animations/right/Hold.res" id="10_g8e21"]
+[ext_resource type="Animation" uid="uid://cdjfhqnr4n2mr" path="res://addons/godot-xr-tools/hands/animations/right/Horns.res" id="11_b3lks"]
+[ext_resource type="Animation" uid="uid://b1kqsodcr1til" path="res://addons/godot-xr-tools/hands/animations/right/Metal.res" id="12_p14fk"]
+[ext_resource type="Animation" uid="uid://cg6fsqb2iuuih" path="res://addons/godot-xr-tools/hands/animations/right/Middle.res" id="13_4i278"]
+[ext_resource type="Animation" uid="uid://c3isimdlxg54a" path="res://addons/godot-xr-tools/hands/animations/right/OK.res" id="14_qk7tg"]
+[ext_resource type="Animation" uid="uid://bxmc3vlfih764" path="res://addons/godot-xr-tools/hands/animations/right/Peace.res" id="15_ejppt"]
+[ext_resource type="Animation" uid="uid://dg4v7rqiaje2h" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Flat.res" id="16_7cyln"]
+[ext_resource type="Animation" uid="uid://cuwwpxi44vwpm" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Large.res" id="17_amtgc"]
+[ext_resource type="Animation" uid="uid://c6vghurk7t5yb" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Middle.res" id="18_pnqcq"]
+[ext_resource type="Animation" uid="uid://mjotm5uukoo3" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Ring.res" id="19_aeaff"]
+[ext_resource type="Animation" uid="uid://ca21ej1p3g2yt" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Tight.res" id="20_mghnf"]
+[ext_resource type="Animation" uid="uid://cseojxi8rrqc" path="res://addons/godot-xr-tools/hands/animations/right/Pinch Up.res" id="21_1v6tw"]
+[ext_resource type="Animation" uid="uid://c8hn123uon74u" path="res://addons/godot-xr-tools/hands/animations/right/PingPong.res" id="22_ueac0"]
+[ext_resource type="Animation" uid="uid://b6ra3rqia1gvb" path="res://addons/godot-xr-tools/hands/animations/right/Pinky.res" id="23_7vyi4"]
+[ext_resource type="Animation" uid="uid://csp3fdknowmi5" path="res://addons/godot-xr-tools/hands/animations/right/Pistol.res" id="24_nc600"]
+[ext_resource type="Animation" uid="uid://2ttepgvf634h" path="res://addons/godot-xr-tools/hands/animations/right/Ring.res" id="25_20nj0"]
+[ext_resource type="Animation" uid="uid://wcwa3p1qrhwr" path="res://addons/godot-xr-tools/hands/animations/right/Rounded.res" id="26_648rb"]
+[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="27_liq3y"]
+[ext_resource type="Animation" uid="uid://btnsp36fjkldf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 2.res" id="28_vdv8x"]
+[ext_resource type="Animation" uid="uid://c35i6glt1ov2m" path="res://addons/godot-xr-tools/hands/animations/right/Sign 3.res" id="29_uairn"]
+[ext_resource type="Animation" uid="uid://b8mmk2ufmlyf" path="res://addons/godot-xr-tools/hands/animations/right/Sign 4.res" id="30_351lm"]
+[ext_resource type="Animation" uid="uid://ddgl3lsnlfiny" path="res://addons/godot-xr-tools/hands/animations/right/Sign 5.res" id="31_o4yst"]
+[ext_resource type="Animation" uid="uid://ccy3e7a0hvxyl" path="res://addons/godot-xr-tools/hands/animations/right/Sign_Point.res" id="32_02kj7"]
+[ext_resource type="Animation" uid="uid://d3h36bkauutoq" path="res://addons/godot-xr-tools/hands/animations/right/Straight.res" id="33_gpxgh"]
+[ext_resource type="Animation" uid="uid://bq7cjxdn28jcv" path="res://addons/godot-xr-tools/hands/animations/right/Surfer.res" id="34_ldn4j"]
+[ext_resource type="Animation" uid="uid://d2ukhr3n2r1u8" path="res://addons/godot-xr-tools/hands/animations/right/Thumb.res" id="35_xnxq3"]
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_reqae"]
+_data = {
+"Cup": ExtResource("1_mq7eu"),
+"Default pose": ExtResource("2_kxlaj"),
+"Grip": ExtResource("9_y16mo"),
+"Grip 1": ExtResource("3_5xubn"),
+"Grip 2": ExtResource("4_y3ovo"),
+"Grip 3": ExtResource("5_0d4pg"),
+"Grip 4": ExtResource("6_nabm2"),
+"Grip 5": ExtResource("7_gy2yb"),
+"Grip Shaft": ExtResource("8_ffwxq"),
+"Hold": ExtResource("10_g8e21"),
+"Horns": ExtResource("11_b3lks"),
+"Metal": ExtResource("12_p14fk"),
+"Middle": ExtResource("13_4i278"),
+"OK": ExtResource("14_qk7tg"),
+"Peace": ExtResource("15_ejppt"),
+"Pinch Flat": ExtResource("16_7cyln"),
+"Pinch Large": ExtResource("17_amtgc"),
+"Pinch Middle": ExtResource("18_pnqcq"),
+"Pinch Ring": ExtResource("19_aeaff"),
+"Pinch Tight": ExtResource("20_mghnf"),
+"Pinch Up": ExtResource("21_1v6tw"),
+"PingPong": ExtResource("22_ueac0"),
+"Pinky": ExtResource("23_7vyi4"),
+"Pistol": ExtResource("24_nc600"),
+"Ring": ExtResource("25_20nj0"),
+"Rounded": ExtResource("26_648rb"),
+"Sign 1": ExtResource("27_liq3y"),
+"Sign 2": ExtResource("28_vdv8x"),
+"Sign 3": ExtResource("29_uairn"),
+"Sign 4": ExtResource("30_351lm"),
+"Sign 5": ExtResource("31_o4yst"),
+"Sign_Point": ExtResource("32_02kj7"),
+"Straight": ExtResource("33_gpxgh"),
+"Surfer": ExtResource("34_ldn4j"),
+"Thumb": ExtResource("35_xnxq3")
+}
[node name="AnimationPlayer" type="AnimationPlayer"]
-anims/Cup = ExtResource( 9 )
-"anims/Default pose" = ExtResource( 7 )
-anims/Grip = ExtResource( 2 )
-"anims/Grip 1" = ExtResource( 5 )
-"anims/Grip 2" = ExtResource( 6 )
-"anims/Grip 3" = ExtResource( 8 )
-"anims/Grip 4" = ExtResource( 10 )
-"anims/Grip 5" = ExtResource( 11 )
-"anims/Grip Shaft" = ExtResource( 1 )
-anims/Hold = ExtResource( 3 )
-anims/Horns = ExtResource( 4 )
-anims/Metal = ExtResource( 24 )
-anims/Middle = ExtResource( 22 )
-anims/OK = ExtResource( 25 )
-anims/Peace = ExtResource( 23 )
-"anims/Pinch Flat" = ExtResource( 20 )
-"anims/Pinch Large" = ExtResource( 21 )
-"anims/Pinch Middle" = ExtResource( 26 )
-"anims/Pinch Ring" = ExtResource( 27 )
-"anims/Pinch Tight" = ExtResource( 29 )
-"anims/Pinch Up" = ExtResource( 31 )
-anims/PingPong = ExtResource( 30 )
-anims/Pinky = ExtResource( 33 )
-anims/Pistol = ExtResource( 32 )
-anims/Ring = ExtResource( 34 )
-anims/Rounded = ExtResource( 28 )
-"anims/Sign 1" = ExtResource( 35 )
-"anims/Sign 2" = ExtResource( 16 )
-"anims/Sign 3" = ExtResource( 17 )
-"anims/Sign 4" = ExtResource( 18 )
-"anims/Sign 5" = ExtResource( 13 )
-anims/Sign_Point = ExtResource( 12 )
-anims/Straight = ExtResource( 14 )
-anims/Surfer = ExtResource( 15 )
-anims/Thumb = ExtResource( 19 )
+libraries = {
+"": SubResource("AnimationLibrary_reqae")
+}
diff --git a/addons/godot-xr-tools/hands/animations/right/Cup.anim b/addons/godot-xr-tools/hands/animations/right/Cup.anim
deleted file mode 100644
index 2b1b44e2..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Cup.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Cup.res b/addons/godot-xr-tools/hands/animations/right/Cup.res
new file mode 100644
index 00000000..8c51ec0e
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Cup.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Default pose.anim b/addons/godot-xr-tools/hands/animations/right/Default pose.anim
deleted file mode 100644
index 19c3cd0e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Default pose.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Default pose.res b/addons/godot-xr-tools/hands/animations/right/Default pose.res
new file mode 100644
index 00000000..04330644
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Default pose.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 1.anim b/addons/godot-xr-tools/hands/animations/right/Grip 1.anim
deleted file mode 100644
index 2b918b26..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip 1.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 1.res b/addons/godot-xr-tools/hands/animations/right/Grip 1.res
new file mode 100644
index 00000000..a948e075
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 1.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 2.anim b/addons/godot-xr-tools/hands/animations/right/Grip 2.anim
deleted file mode 100644
index 1b0a1848..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip 2.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 2.res b/addons/godot-xr-tools/hands/animations/right/Grip 2.res
new file mode 100644
index 00000000..0edc4bc8
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 2.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 3.anim b/addons/godot-xr-tools/hands/animations/right/Grip 3.anim
deleted file mode 100644
index 2db55377..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip 3.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 3.res b/addons/godot-xr-tools/hands/animations/right/Grip 3.res
new file mode 100644
index 00000000..3217e8f8
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 3.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 4.anim b/addons/godot-xr-tools/hands/animations/right/Grip 4.anim
deleted file mode 100644
index 1570b8cb..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip 4.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 4.res b/addons/godot-xr-tools/hands/animations/right/Grip 4.res
new file mode 100644
index 00000000..59b168b6
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 4.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 5.anim b/addons/godot-xr-tools/hands/animations/right/Grip 5.anim
deleted file mode 100644
index 79ca3edb..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip 5.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip 5.res b/addons/godot-xr-tools/hands/animations/right/Grip 5.res
new file mode 100644
index 00000000..c8564347
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip 5.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim
deleted file mode 100644
index aa2389c2..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res
new file mode 100644
index 00000000..af238ac6
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip Shaft.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip.anim b/addons/godot-xr-tools/hands/animations/right/Grip.anim
deleted file mode 100644
index 987f856f..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Grip.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Grip.res b/addons/godot-xr-tools/hands/animations/right/Grip.res
new file mode 100644
index 00000000..601dcf75
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Grip.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Hold.anim b/addons/godot-xr-tools/hands/animations/right/Hold.anim
deleted file mode 100644
index 5f3df85e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Hold.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Hold.res b/addons/godot-xr-tools/hands/animations/right/Hold.res
new file mode 100644
index 00000000..e9e7b202
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Hold.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Horns.anim b/addons/godot-xr-tools/hands/animations/right/Horns.anim
deleted file mode 100644
index 4e9a2c80..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Horns.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Horns.res b/addons/godot-xr-tools/hands/animations/right/Horns.res
new file mode 100644
index 00000000..dc96a648
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Horns.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Metal.anim b/addons/godot-xr-tools/hands/animations/right/Metal.anim
deleted file mode 100644
index d96c3813..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Metal.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Metal.res b/addons/godot-xr-tools/hands/animations/right/Metal.res
new file mode 100644
index 00000000..9586df28
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Metal.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Middle.anim b/addons/godot-xr-tools/hands/animations/right/Middle.anim
deleted file mode 100644
index 073e7e34..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Middle.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Middle.res b/addons/godot-xr-tools/hands/animations/right/Middle.res
new file mode 100644
index 00000000..58b0b176
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Middle.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/OK.anim b/addons/godot-xr-tools/hands/animations/right/OK.anim
deleted file mode 100644
index 4366eedf..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/OK.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/OK.res b/addons/godot-xr-tools/hands/animations/right/OK.res
new file mode 100644
index 00000000..0c34865d
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/OK.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Peace.anim b/addons/godot-xr-tools/hands/animations/right/Peace.anim
deleted file mode 100644
index a7808e7d..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Peace.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Peace.res b/addons/godot-xr-tools/hands/animations/right/Peace.res
new file mode 100644
index 00000000..706c3650
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Peace.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim
deleted file mode 100644
index ed752b39..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Flat.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res
new file mode 100644
index 00000000..bb791493
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Flat.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Large.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Large.anim
deleted file mode 100644
index d0c37ddf..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Large.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Large.res b/addons/godot-xr-tools/hands/animations/right/Pinch Large.res
new file mode 100644
index 00000000..868e737f
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Large.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim
deleted file mode 100644
index 8d784c7b..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res
new file mode 100644
index 00000000..7bc904e4
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Middle.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim
deleted file mode 100644
index ec619667..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Ring.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res
new file mode 100644
index 00000000..346567a4
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Ring.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Tight.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.anim
deleted file mode 100644
index 18a72e5e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Tight.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res
new file mode 100644
index 00000000..a828be77
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Tight.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Up.anim b/addons/godot-xr-tools/hands/animations/right/Pinch Up.anim
deleted file mode 100644
index f9b9ff1e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinch Up.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinch Up.res b/addons/godot-xr-tools/hands/animations/right/Pinch Up.res
new file mode 100644
index 00000000..edef1248
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinch Up.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/PingPong.anim b/addons/godot-xr-tools/hands/animations/right/PingPong.anim
deleted file mode 100644
index 2498677e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/PingPong.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/PingPong.res b/addons/godot-xr-tools/hands/animations/right/PingPong.res
new file mode 100644
index 00000000..d422d4d9
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/PingPong.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinky.anim b/addons/godot-xr-tools/hands/animations/right/Pinky.anim
deleted file mode 100644
index 4f4dcf5b..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pinky.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pinky.res b/addons/godot-xr-tools/hands/animations/right/Pinky.res
new file mode 100644
index 00000000..818f6d80
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pinky.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pistol.anim b/addons/godot-xr-tools/hands/animations/right/Pistol.anim
deleted file mode 100644
index 99122b53..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Pistol.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Pistol.res b/addons/godot-xr-tools/hands/animations/right/Pistol.res
new file mode 100644
index 00000000..40c3cde6
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Pistol.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Ring.anim b/addons/godot-xr-tools/hands/animations/right/Ring.anim
deleted file mode 100644
index d833aaa2..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Ring.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Ring.res b/addons/godot-xr-tools/hands/animations/right/Ring.res
new file mode 100644
index 00000000..9d0e1c3d
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Ring.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Rounded.anim b/addons/godot-xr-tools/hands/animations/right/Rounded.anim
deleted file mode 100644
index aa2d6246..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Rounded.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Rounded.res b/addons/godot-xr-tools/hands/animations/right/Rounded.res
new file mode 100644
index 00000000..02e1a7fb
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Rounded.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 1.anim b/addons/godot-xr-tools/hands/animations/right/Sign 1.anim
deleted file mode 100644
index 907c1c9d..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign 1.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 1.res b/addons/godot-xr-tools/hands/animations/right/Sign 1.res
new file mode 100644
index 00000000..b5f12afe
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 1.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 2.anim b/addons/godot-xr-tools/hands/animations/right/Sign 2.anim
deleted file mode 100644
index d9eb445e..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign 2.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 2.res b/addons/godot-xr-tools/hands/animations/right/Sign 2.res
new file mode 100644
index 00000000..eb398d6d
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 2.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 3.anim b/addons/godot-xr-tools/hands/animations/right/Sign 3.anim
deleted file mode 100644
index 52cc0482..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign 3.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 3.res b/addons/godot-xr-tools/hands/animations/right/Sign 3.res
new file mode 100644
index 00000000..f69a4ad1
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 3.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 4.anim b/addons/godot-xr-tools/hands/animations/right/Sign 4.anim
deleted file mode 100644
index 0966f588..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign 4.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 4.res b/addons/godot-xr-tools/hands/animations/right/Sign 4.res
new file mode 100644
index 00000000..e93f3935
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 4.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 5.anim b/addons/godot-xr-tools/hands/animations/right/Sign 5.anim
deleted file mode 100644
index aae40b62..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign 5.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign 5.res b/addons/godot-xr-tools/hands/animations/right/Sign 5.res
new file mode 100644
index 00000000..69f68f45
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign 5.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign_Point.anim b/addons/godot-xr-tools/hands/animations/right/Sign_Point.anim
deleted file mode 100644
index 71f40ff0..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Sign_Point.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Sign_Point.res b/addons/godot-xr-tools/hands/animations/right/Sign_Point.res
new file mode 100644
index 00000000..8f648703
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Sign_Point.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Straight.anim b/addons/godot-xr-tools/hands/animations/right/Straight.anim
deleted file mode 100644
index 4ab1d930..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Straight.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Straight.res b/addons/godot-xr-tools/hands/animations/right/Straight.res
new file mode 100644
index 00000000..cd658ecc
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Straight.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Surfer.anim b/addons/godot-xr-tools/hands/animations/right/Surfer.anim
deleted file mode 100644
index 25643557..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Surfer.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Surfer.res b/addons/godot-xr-tools/hands/animations/right/Surfer.res
new file mode 100644
index 00000000..01cfa17a
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Surfer.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Thumb.anim b/addons/godot-xr-tools/hands/animations/right/Thumb.anim
deleted file mode 100644
index eec925c1..00000000
Binary files a/addons/godot-xr-tools/hands/animations/right/Thumb.anim and /dev/null differ
diff --git a/addons/godot-xr-tools/hands/animations/right/Thumb.res b/addons/godot-xr-tools/hands/animations/right/Thumb.res
new file mode 100644
index 00000000..f82ac7fd
Binary files /dev/null and b/addons/godot-xr-tools/hands/animations/right/Thumb.res differ
diff --git a/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres b/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres
index 10237fc0..f56fb58b 100644
--- a/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres
+++ b/addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres
@@ -1,32 +1,32 @@
-[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=2]
+[gd_resource type="AnimationNodeBlendTree" load_steps=6 format=3 uid="uid://m85b1gogdums"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="1"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="2"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=4]
+[sub_resource type="AnimationNodeBlend2" id="4"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=3]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="3"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="5"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
[resource]
-graph_offset = Vector2( -753.664, -85.6991 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 4 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 3 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "output", 0, "Grip" ]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("1")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("2")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("4")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("3")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("5")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
diff --git a/addons/godot-xr-tools/hands/hand.gd b/addons/godot-xr-tools/hands/hand.gd
index 3ac7fccd..a63f5fa9 100644
--- a/addons/godot-xr-tools/hands/hand.gd
+++ b/addons/godot-xr-tools/hands/hand.gd
@@ -1,6 +1,7 @@
-tool
-class_name XRToolsHand, "res://addons/godot-xr-tools/editor/icons/hand.svg"
-extends Spatial
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsHand
+extends Node3D
## XR Tools Hand Script
@@ -8,7 +9,7 @@ extends Spatial
## This script manages a godot-xr-tools hand. It animates the hand blending
## grip and trigger animations based on controller input.
##
-## Additionally the hand script detects world-scale changes in the ARVRServer
+## Additionally the hand script detects world-scale changes in the XRServer
## and re-scales the hand appropriately so the hand stays scaled to the
## physical hand of the user.
@@ -18,24 +19,29 @@ signal hand_scale_changed(scale)
## Blend tree to use
-export var hand_blend_tree : AnimationNodeBlendTree setget set_hand_blend_tree
+@export var hand_blend_tree : AnimationNodeBlendTree: set = set_hand_blend_tree
## Override the hand material
-export var hand_material_override : Material setget set_hand_material_override
+@export var hand_material_override : Material: set = set_hand_material_override
## Default hand pose
-export var default_pose : Resource setget set_default_pose
+@export var default_pose : XRToolsHandPoseSettings: set = set_default_pose
+## Name of the Grip action in the OpenXR Action Map.
+@export var grip_action : String = "grip"
+
+## Name of the Trigger action in the OpenXR Action Map.
+@export var trigger_action : String = "trigger"
## Last world scale (for scaling hands)
var _last_world_scale : float = 1.0
## Initial hand transform (from controller) - used for scaling hands
-var _transform : Transform
+var _transform : Transform3D
## Hand mesh
-var _hand_mesh : MeshInstance
+var _hand_mesh : MeshInstance3D
## Hand animation player
var _animation_player : AnimationPlayer
@@ -74,9 +80,9 @@ class PoseOverride:
settings = s
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHand" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHand"
## Called when the node enters the scene tree for the first time.
@@ -85,7 +91,7 @@ func _ready() -> void:
_transform = transform
# Find the relevant hand nodes
- _hand_mesh = _find_child(self, "MeshInstance")
+ _hand_mesh = _find_child(self, "MeshInstance3D")
_animation_player = _find_child(self, "AnimationPlayer")
_animation_tree = _find_child(self, "AnimationTree")
@@ -100,61 +106,51 @@ func _ready() -> void:
## It then reads the grip and trigger action values to animate the hand.
func _process(_delta: float) -> void:
# Do not run physics if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
- # Scale the hand mesh with the world scale. This is required for OpenXR plugin
- # 1.3.0 and later where the plugin no-longer scales the controllers with
- # world_scale
- if ARVRServer.world_scale != _last_world_scale:
- _last_world_scale = ARVRServer.world_scale
+ # Scale the hand mesh with the world scale.
+ if XRServer.world_scale != _last_world_scale:
+ _last_world_scale = XRServer.world_scale
transform = _transform.scaled(Vector3.ONE * _last_world_scale)
emit_signal("hand_scale_changed", _last_world_scale)
# Animate the hand mesh with the controller inputs
- var controller : ARVRController = get_parent()
+ var controller : XRController3D = get_parent()
if controller:
- var grip : float = controller.get_joystick_axis(JOY_VR_ANALOG_GRIP)
- var trigger : float = controller.get_joystick_axis(JOY_VR_ANALOG_TRIGGER)
+ var grip : float = controller.get_float(grip_action)
+ var trigger : float = controller.get_float(trigger_action)
# Allow overriding of grip and trigger
if _force_grip >= 0.0: grip = _force_grip
if _force_trigger >= 0.0: trigger = _force_trigger
- # Uncomment for workaround for bug in OpenXR plugin 1.1.1 and earlier
- # giving values from -1.0 to 1.0. Note that when controllers are not
- # being tracking yet this will result in a value of 0.5
- # grip = (grip + 1.0) * 0.5
- # trigger = (trigger + 1.0) * 0.5
-
$AnimationTree.set("parameters/Grip/blend_amount", grip)
$AnimationTree.set("parameters/Trigger/blend_amount", trigger)
- # var grip_state = controller.is_button_pressed(JOY_VR_GRIP)
- # print("Pressed: " + str(grip_state))
# This method verifies the hand has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Check hand for mesh instance
- if not _find_child(self, "MeshInstance"):
- return "Hand does not have a MeshInstance"
+ if not _find_child(self, "MeshInstance3D"):
+ warnings.append("Hand does not have a MeshInstance3D")
# Check hand for animation player
if not _find_child(self, "AnimationPlayer"):
- return "Hand does not have a AnimationPlayer"
+ warnings.append("Hand does not have a AnimationPlayer")
# Check hand for animation tree
var tree : AnimationTree = _find_child(self, "AnimationTree")
if not tree:
- return "Hand does not have a AnimationTree"
-
- # Check hand animation tree has a root
- if not tree.tree_root:
- return "Hand AnimationTree has no root"
+ warnings.append("Hand does not have a AnimationTree")
+ elif not tree.tree_root:
+ warnings.append("Hand AnimationTree has no root")
- # Passed basic validation
- return ""
+ # Return warnings
+ return warnings
## Find an [XRToolsHand] node.
@@ -162,8 +158,8 @@ func _get_configuration_warning():
## This function searches from the specified node for an [XRToolsHand] assuming
## the node is a sibling of the hand under an [ARVRController].
static func find_instance(node : Node) -> XRToolsHand:
- return XRTools.find_child(
- ARVRHelpers.get_arvr_controller(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_xr_controller(node),
"*",
"XRToolsHand") as XRToolsHand
@@ -184,7 +180,7 @@ func set_hand_material_override(material : Material) -> void:
## Set the default open-hand pose
-func set_default_pose(pose : Resource) -> void:
+func set_default_pose(pose : XRToolsHandPoseSettings) -> void:
default_pose = pose
if is_inside_tree():
_update_pose()
@@ -317,7 +313,7 @@ func _remove_pose_override(who : Node) -> bool:
# Check for a match
if pose.who == who:
# Remove the override
- _pose_overrides.remove(pos)
+ _pose_overrides.remove_at(pos)
modified = true
length -= 1
else:
diff --git a/addons/godot-xr-tools/hands/hand_physics_bone.gd b/addons/godot-xr-tools/hands/hand_physics_bone.gd
index cf0110f3..998d35d8 100644
--- a/addons/godot-xr-tools/hands/hand_physics_bone.gd
+++ b/addons/godot-xr-tools/hands/hand_physics_bone.gd
@@ -1,15 +1,15 @@
-tool
+@tool
class_name XRToolsHandPhysicsBone
-extends BoneAttachment
+extends BoneAttachment3D
## XR Tools Physics Hand Bone
##
## This script adds a physics-bone to a godot-xr-tools physics hand.
##
-## It extends from [BoneAttachment] to track the position of the bone in
-## the hand skeleton, and uses this position to move a [KinematicBody]
-## physics-bone with a [CapsuleShape] collider.
+## It extends from [BoneAttachment3D] to track the position of the bone in
+## the hand skeleton, and uses this position to move a [CharacterBody3D]
+## physics-bone with a [CapsuleShape3D] collider.
##
## The physics-bone is manually driven with to the position and rotation of the
## skeletal-bone. The physics-bone is set as top-level to prevent the
@@ -17,7 +17,7 @@ extends BoneAttachment
## collider which the physics engine cannot tolerate.
##
## To handle scaling, this script subscribes to the hand_scale_changed signal
-## emitted by the [XRToolsHand] script and manually adjusts the [CapsuleShape]
+## emitted by the [XRToolsHand] script and manually adjusts the [CapsuleShape3D]
## collider of the physics-bone to keep it sized appropriately.
##
## There are additional collision and group settings for this specific
@@ -25,31 +25,31 @@ extends BoneAttachment
## Length of the physics-bone
-export var length : float = 0.03
+@export var length : float = 0.03
## Ratio of bone length to width
-export var width_ratio : float = 0.3
+@export var width_ratio : float = 0.3
## Additional collision layer for this one bone
-export (int, LAYERS_3D_PHYSICS) var collision_layer : int = 0
+@export_flags_3d_physics var collision_layer : int = 0
## Additional bone group for this one bone
-export var bone_group : String = ""
+@export var bone_group : String = ""
# Physics-bone collider shape
-var _bone_shape : CapsuleShape
+var _bone_shape : CapsuleShape3D
# Physics-bone body node
-var _physics_bone : KinematicBody
+var _physics_bone : CharacterBody3D
# Node attached to the skeletal-bone, and the target of the physics-bone
-var _skeletal_bone : Spatial
+var _skeletal_bone : Node3D
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHandPhysicsBone" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHandPhysicsBone"
# Called when the node enters the scene tree. This constructs the physics-bone
@@ -58,37 +58,37 @@ func _ready():
# Connect the 'hand_scale_changed' signal
var physics_hand := XRToolsHand.find_instance(self) as XRToolsPhysicsHand
if physics_hand:
- physics_hand.connect("hand_scale_changed", self, "_on_hand_scale_changed")
+ physics_hand.hand_scale_changed.connect(_on_hand_scale_changed)
# Construct the physics-bone shape
- _bone_shape = CapsuleShape.new()
+ _bone_shape = CapsuleShape3D.new()
_bone_shape.margin = physics_hand.margin
- _on_hand_scale_changed(ARVRServer.world_scale)
+ _on_hand_scale_changed(XRServer.world_scale)
# Construct the physics-bone collision shape
- var bone_collision := CollisionShape.new()
+ var bone_collision := CollisionShape3D.new()
bone_collision.set_name("BoneCollision")
bone_collision.shape = _bone_shape
- bone_collision.transform.basis = Basis(Vector3.RIGHT, PI/2)
+ #bone_collision.transform.basis = Basis(Vector3.RIGHT, PI/2)
# Construct the physics-bone body
- _physics_bone = KinematicBody.new()
+ _physics_bone = CharacterBody3D.new()
_physics_bone.set_name("BoneBody")
- _physics_bone.set_as_toplevel(true)
+ _physics_bone.set_as_top_level(true)
_physics_bone.collision_layer = physics_hand.collision_layer | collision_layer
_physics_bone.collision_mask = 0
_physics_bone.add_child(bone_collision)
# Set the optional bone group for all bones in the hand
- if not physics_hand.bone_group.empty():
+ if not physics_hand.bone_group.is_empty():
_physics_bone.add_to_group(physics_hand.bone_group)
# Set the optional bone group for this one bone
- if not bone_group.empty():
+ if not bone_group.is_empty():
_physics_bone.add_to_group(bone_group)
# Construct the bone middle spatial
- _skeletal_bone = Spatial.new()
+ _skeletal_bone = Node3D.new()
_skeletal_bone.transform.origin = Vector3.UP * length / 2
# Add the physics-bone body to this hand bone
@@ -116,7 +116,8 @@ func _move_bone(delta: float) -> void:
var bone_vel := (bone_xform.origin - _physics_bone.global_transform.origin) / delta
# Move the physics-bone into position
- _physics_bone.move_and_slide(bone_vel, Vector3.UP)
+ _physics_bone.velocity = bone_vel
+ _physics_bone.move_and_slide()
# Rotate the physics-bone into the correct rotation
_physics_bone.global_transform.basis = bone_xform.basis
@@ -128,8 +129,8 @@ func _teleport_bone() -> void:
var bone_xform := _skeletal_bone.global_transform
# Set the bone position
- _physics_bone.global_transform = Transform(
- Basis(bone_xform.basis.get_rotation_quat()),
+ _physics_bone.global_transform = Transform3D(
+ Basis(bone_xform.basis.get_rotation_quaternion()),
bone_xform.origin)
diff --git a/addons/godot-xr-tools/hands/materials/african_hands.material b/addons/godot-xr-tools/hands/materials/african_hands.material
index b0037a36..e132a8f9 100644
Binary files a/addons/godot-xr-tools/hands/materials/african_hands.material and b/addons/godot-xr-tools/hands/materials/african_hands.material differ
diff --git a/addons/godot-xr-tools/hands/materials/african_hands_realistic.material b/addons/godot-xr-tools/hands/materials/african_hands_realistic.material
index 52313d1d..4f54528d 100644
Binary files a/addons/godot-xr-tools/hands/materials/african_hands_realistic.material and b/addons/godot-xr-tools/hands/materials/african_hands_realistic.material differ
diff --git a/addons/godot-xr-tools/hands/materials/caucasian_hand.material b/addons/godot-xr-tools/hands/materials/caucasian_hand.material
index 8019e13b..a0cfb2e3 100644
Binary files a/addons/godot-xr-tools/hands/materials/caucasian_hand.material and b/addons/godot-xr-tools/hands/materials/caucasian_hand.material differ
diff --git a/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material b/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material
index 81eda924..2f7b83a3 100644
Binary files a/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material and b/addons/godot-xr-tools/hands/materials/caucasian_hands_realistic.material differ
diff --git a/addons/godot-xr-tools/hands/materials/cleaning_glove.material b/addons/godot-xr-tools/hands/materials/cleaning_glove.material
index e863e354..798d37d6 100644
Binary files a/addons/godot-xr-tools/hands/materials/cleaning_glove.material and b/addons/godot-xr-tools/hands/materials/cleaning_glove.material differ
diff --git a/addons/godot-xr-tools/hands/materials/ghost_hand.tres b/addons/godot-xr-tools/hands/materials/ghost_hand.tres
index f335b640..7d7f6c1b 100644
--- a/addons/godot-xr-tools/hands/materials/ghost_hand.tres
+++ b/addons/godot-xr-tools/hands/materials/ghost_hand.tres
@@ -1,16 +1,18 @@
-[gd_resource type="SpatialMaterial" load_steps=3 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://p0q2df2dmy62"]
-[ext_resource path="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png" type="Texture" id=1]
+[ext_resource type="Texture2D" uid="uid://dgkfppran5j1f" path="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png" id="1_rbe3r"]
+[ext_resource type="Texture2D" uid="uid://d2iocwfr47kqp" path="res://addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png" id="2_qqman"]
-[sub_resource type="SpatialMaterial" id=1]
-flags_transparent = true
-params_depth_draw_mode = 1
-albedo_texture = ExtResource( 1 )
+[sub_resource type="ORMMaterial3D" id="ORMMaterial3D_wu6j1"]
+transparency = 1
+depth_draw_mode = 1
+albedo_texture = ExtResource("1_rbe3r")
+orm_texture = ExtResource("2_qqman")
[resource]
render_priority = -1
-next_pass = SubResource( 1 )
-flags_transparent = true
-flags_unshaded = true
-flags_no_depth_test = true
-albedo_color = Color( 0, 1, 1, 0.25098 )
+next_pass = SubResource("ORMMaterial3D_wu6j1")
+transparency = 1
+no_depth_test = true
+shading_mode = 0
+albedo_color = Color(0, 1, 1, 0.25098)
diff --git a/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material b/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material
index e2f2aef7..9385f6c9 100644
Binary files a/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material and b/addons/godot-xr-tools/hands/materials/glove_african_dark_camo.material differ
diff --git a/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material
index 46c15549..c9a7bf85 100644
Binary files a/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material and b/addons/godot-xr-tools/hands/materials/glove_african_green_camo.material differ
diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material
index e8227bcc..41019dfd 100644
Binary files a/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material and b/addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material differ
diff --git a/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material b/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material
index 9c98b47b..4b4146d8 100644
Binary files a/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material and b/addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material differ
diff --git a/addons/godot-xr-tools/hands/materials/labglove.material b/addons/godot-xr-tools/hands/materials/labglove.material
index 46558c78..29dbbe8f 100644
Binary files a/addons/godot-xr-tools/hands/materials/labglove.material and b/addons/godot-xr-tools/hands/materials/labglove.material differ
diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import
index 6413199a..1314ffb2 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn"
+uid="uid://bu07alt6vkbaq"
+path="res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf"
-dest_files=[ "res://.import/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn" ]
+dest_files=["res://.godot/imported/Hand_Glove_L.gltf-ac6c06fe48ca0d7ce0f9faffd177a897.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import
index c4a0f778..8c122459 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn"
+uid="uid://w7th3d2hl7b5"
+path="res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf"
-dest_files=[ "res://.import/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn" ]
+dest_files=["res://.godot/imported/Hand_Glove_R.gltf-0e99922c663867da8d37af9597ab1ce8.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import
index 7b5d9f83..6fb44fef 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn"
+uid="uid://bnx4hithcij6y"
+path="res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf"
-dest_files=[ "res://.import/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn" ]
+dest_files=["res://.godot/imported/Hand_Glove_low_L.gltf-7b94b12c0dff159d494da6cafd52895d.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import
index d8b624b6..31c53556 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn"
+uid="uid://csgsp0wuw8ucy"
+path="res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf"
-dest_files=[ "res://.import/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn" ]
+dest_files=["res://.godot/imported/Hand_Glove_low_R.gltf-c32907596b2287c95aff0e704780ef3d.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import
index 46bc2563..fb4f1ce3 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn"
+uid="uid://q1l3fknstir2"
+path="res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf"
-dest_files=[ "res://.import/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn" ]
+dest_files=["res://.godot/imported/Hand_Nails_L.gltf-22452b307072e9d363b1f547e2b6a365.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import
index d6535061..d198397f 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn"
+uid="uid://c6s5nvekg0isa"
+path="res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf"
-dest_files=[ "res://.import/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn" ]
+dest_files=["res://.godot/imported/Hand_Nails_R.gltf-35869d6a39400588d95465aa5e3b528d.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import
index 8965d9fc..40d4e92e 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn"
+uid="uid://c4nba0qpi0uls"
+path="res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf"
-dest_files=[ "res://.import/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn" ]
+dest_files=["res://.godot/imported/Hand_Nails_low_L.gltf-60d8096917582bfe1d760ff1ad173fc8.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import
index 01e18a6b..53fea667 100644
--- a/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn"
+uid="uid://dunu03tc5vdbh"
+path="res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf"
-dest_files=[ "res://.import/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn" ]
+dest_files=["res://.godot/imported/Hand_Nails_low_R.gltf-7d9fc9507def4b4fd9c10cdae7aa6e11.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import
index d4e8e176..44b7650e 100644
--- a/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_low_L.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn"
+uid="uid://16colgxrw27d"
+path="res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf"
-dest_files=[ "res://.import/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn" ]
+dest_files=["res://.godot/imported/Hand_low_L.gltf-a83bdf9115e4fb62c63deabade61cbbb.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import
index eb3a0bdb..dcf37b51 100644
--- a/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import
+++ b/addons/godot-xr-tools/hands/model/Hand_low_R.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn"
+uid="uid://cjrac51wst3tu"
+path="res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf"
-dest_files=[ "res://.import/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn" ]
+dest_files=["res://.godot/imported/Hand_low_R.gltf-8b164aff014e5c5bfa2eccc8e40e7e97.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/hand_l.gltf.import b/addons/godot-xr-tools/hands/model/hand_l.gltf.import
index 2ed7bdb2..326d0842 100644
--- a/addons/godot-xr-tools/hands/model/hand_l.gltf.import
+++ b/addons/godot-xr-tools/hands/model/hand_l.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn"
+uid="uid://dhaqth6q5yw4n"
+path="res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/hand_l.gltf"
-dest_files=[ "res://.import/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn" ]
+dest_files=["res://.godot/imported/hand_l.gltf-6ba1595ac4c28aef3719b7f0b4f2f4f2.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/model/hand_r.gltf.import b/addons/godot-xr-tools/hands/model/hand_r.gltf.import
index e8d0f779..1f91a8d9 100644
--- a/addons/godot-xr-tools/hands/model/hand_r.gltf.import
+++ b/addons/godot-xr-tools/hands/model/hand_r.gltf.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn"
+uid="uid://ds1t8vc0kxoeo"
+path="res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn"
[deps]
source_file="res://addons/godot-xr-tools/hands/model/hand_r.gltf"
-dest_files=[ "res://.import/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn" ]
+dest_files=["res://.godot/imported/hand_r.gltf-dd429687cadefbc3e7a21ae26addfb30.scn"]
[params]
-nodes/root_type="Spatial"
+nodes/root_type="Node3D"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=false
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
-meshes/light_baking=0
-meshes/lightmap_texel_size=0.1
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
+meshes/light_baking=1
+meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
-animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/fps=30
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/addons/godot-xr-tools/hands/physics_hand.gd b/addons/godot-xr-tools/hands/physics_hand.gd
index 9144a5ce..5934817a 100644
--- a/addons/godot-xr-tools/hands/physics_hand.gd
+++ b/addons/godot-xr-tools/hands/physics_hand.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsPhysicsHand
extends XRToolsHand
@@ -20,21 +20,21 @@ const DEFAULT_LAYER := 0b0000_0000_0000_0010_0000_0000_0000_0000
## Additionally [XRToolsHandPhysicsBone] nodes can specify additional
## bone-specific collision layers - for example to give the fore-finger bone
## additional collision capabilities.
-export (int, LAYERS_3D_PHYSICS) var collision_layer : int = DEFAULT_LAYER
+@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER
## Bone collision margin applied to all [XRToolsHandPhysicsBone] children.
##
## This is used for fine-tuning the collision margins for all
## [XRToolsHandPhysicsBone] children in the hand.
-export var margin : float = 0.004
+@export var margin : float = 0.004
## Group applied to all [XRToolsHandPhysicsBone] children.
##
## This is used to set groups for every bone in the hand. Additionally
## [XRToolsHandPhysicsBone] nodes can specify additional bone-specific groups.
-export var bone_group : String = ""
+@export var bone_group : String = ""
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsPhysicsHand" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsPhysicsHand" or super(name)
diff --git a/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd
index d8ece425..355a2a94 100644
--- a/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd
+++ b/addons/godot-xr-tools/hands/poses/hand_pose_settings.gd
@@ -1,4 +1,5 @@
-class_name XRToolsHandPoseSettings, "res://addons/godot-xr-tools/editor/icons/hand.svg"
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsHandPoseSettings
extends Resource
@@ -9,7 +10,7 @@ extends Resource
## Hand-open pose
-export var open_pose : Animation
+@export var open_pose : Animation
## Hand-closed pose
-export var closed_pose : Animation
+@export var closed_pose : Animation
diff --git a/addons/godot-xr-tools/hands/poses/pose_default_left.tres b/addons/godot-xr-tools/hands/poses/pose_default_left.tres
index e47cb2b3..26ba106f 100644
--- a/addons/godot-xr-tools/hands/poses/pose_default_left.tres
+++ b/addons/godot-xr-tools/hands/poses/pose_default_left.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dertgu7k8alls"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip.anim" type="Animation" id=3]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1"]
+[ext_resource type="Animation" uid="uid://plad1r85f7ws" path="res://addons/godot-xr-tools/hands/animations/left/Grip.res" id="1_oobiv"]
+[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_tar64"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1")
+open_pose = ExtResource("2_tar64")
+closed_pose = ExtResource("1_oobiv")
diff --git a/addons/godot-xr-tools/hands/poses/pose_default_right.tres b/addons/godot-xr-tools/hands/poses/pose_default_right.tres
index 9b18b4f6..dc2430bb 100644
--- a/addons/godot-xr-tools/hands/poses/pose_default_right.tres
+++ b/addons/godot-xr-tools/hands/poses/pose_default_right.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dmpjtk0l8vh6v"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=3]
+[ext_resource type="Animation" uid="uid://ccds2u22gbxn7" path="res://addons/godot-xr-tools/hands/animations/right/Grip.res" id="1_o7bqr"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_ytvcl"]
+[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_u3fe0"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1_ytvcl")
+open_pose = ExtResource("2_u3fe0")
+closed_pose = ExtResource("1_o7bqr")
diff --git a/addons/godot-xr-tools/hands/poses/pose_point_left.tres b/addons/godot-xr-tools/hands/poses/pose_point_left.tres
index e2854931..267151ac 100644
--- a/addons/godot-xr-tools/hands/poses/pose_point_left.tres
+++ b/addons/godot-xr-tools/hands/poses/pose_point_left.tres
@@ -1,9 +1,9 @@
-[gd_resource type="Resource" load_steps=3 format=2]
+[gd_resource type="Resource" load_steps=3 format=3 uid="uid://ciw0f7mg4ai0k"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.anim" type="Animation" id=2]
+[ext_resource type="Animation" uid="uid://cevirj0eagdrq" path="res://addons/godot-xr-tools/hands/animations/left/Sign 1.res" id="1_idx1j"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_oxfi3"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 2 )
+script = ExtResource("1_oxfi3")
+open_pose = ExtResource("1_idx1j")
+closed_pose = ExtResource("1_idx1j")
diff --git a/addons/godot-xr-tools/hands/poses/pose_point_right.tres b/addons/godot-xr-tools/hands/poses/pose_point_right.tres
index abb64323..b3bc9f23 100644
--- a/addons/godot-xr-tools/hands/poses/pose_point_right.tres
+++ b/addons/godot-xr-tools/hands/poses/pose_point_right.tres
@@ -1,9 +1,9 @@
-[gd_resource type="Resource" load_steps=3 format=2]
+[gd_resource type="Resource" load_steps=3 format=3 uid="uid://bhvrpfo4ecbub"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.anim" type="Animation" id=2]
+[ext_resource type="Animation" uid="uid://bcwx6a6mhsoj2" path="res://addons/godot-xr-tools/hands/animations/right/Sign 1.res" id="1_jc8b4"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_pkv6s"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 2 )
+script = ExtResource("1_pkv6s")
+open_pose = ExtResource("1_jc8b4")
+closed_pose = ExtResource("1_jc8b4")
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn
index 10a78a37..5af1d46d 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_hand.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://bpdj5njb8nhot"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_L.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_x4lr3"]
+[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ej4yx"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gacaa"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_seoit"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rtx6p"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y01rx"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_o4h0a"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ej4yx")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_gacaa")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_seoit")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_rtx6p")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_y01rx")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_x4lr3")
-[node name="Hand_L" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
+[node name="Hand_L" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
-[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
+[node name="Skeleton3D" parent="Hand_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource( 1 )]
+[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_o4h0a")
anim_player = NodePath("../Hand_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn
index 7a72363e..17605995 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_fullglove_physics_hand.tscn
@@ -1,211 +1,223 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://nqiyqnx42m61"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=8]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=9]
+[ext_resource type="PackedScene" uid="uid://dhaqth6q5yw4n" path="res://addons/godot-xr-tools/hands/model/hand_l.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_0aa1r"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u4nb4"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7blad"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dcp65"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jjpal"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_djjo6"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 9 )
-default_pose = ExtResource( 8 )
-
-[node name="Hand_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_nwkwa"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_u4nb4")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_7blad")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_dcp65")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_jjpal")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_djjo6")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("9")
+default_pose = ExtResource("3_0aa1r")
+
+[node name="Hand_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Hand_L" parent="Hand_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource( 2 )]
-anims/closed_hand = ExtResource( 7 )
-anims/open_hand = ExtResource( 6 )
+[node name="AnimationPlayer" parent="Hand_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_nwkwa")
anim_player = NodePath("../Hand_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn
index 39b24ab4..ef1c2d37 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_hand.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://njx823gyk04n"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=6]
+[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_k56uy"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x12eo"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kw2gg"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o8j0s"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cxcnq"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yn70n"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_v8owg"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_x12eo")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_kw2gg")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_o8j0s")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_cxcnq")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_yn70n")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 5 )
-default_pose = ExtResource( 4 )
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("5")
+default_pose = ExtResource("3_k56uy")
-[node name="Hand_Nails_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
+[node name="Hand_Nails_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
-[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 6 )
+[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource( 2 )]
+[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("6")
+
+[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_v8owg")
anim_player = NodePath("../Hand_Nails_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn
index 628435fc..e4e77707 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_hand.tscn
@@ -1,211 +1,223 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://cy03d57iyrci"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip.anim" type="Animation" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=8]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=9]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://q1l3fknstir2" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_L.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_fye1l"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="9"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qo0kg"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_j4paf"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_07l6n"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vwqya"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5tj4h"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 9 )
-default_pose = ExtResource( 8 )
-
-[node name="Hand_Nails_L" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Nails_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_w000o"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qo0kg")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_j4paf")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_07l6n")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_vwqya")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_5tj4h")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("9")
+default_pose = ExtResource("3_fye1l")
+
+[node name="Hand_Nails_L" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Nails_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Hand_Nails_L" parent="Hand_Nails_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_Nails_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Nails_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Nails_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource( 1 )]
-anims/closed_hand = ExtResource( 7 )
-anims/open_hand = ExtResource( 6 )
+[node name="AnimationPlayer" parent="Hand_Nails_L" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_w000o")
anim_player = NodePath("../Hand_Nails_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn
index 1ea095cc..a27b6a1a 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_physics_tac_glove.tscn
@@ -1,204 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://ddsj74hpt1kgb"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=7]
+[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_rnhp7"]
+[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_t6qch"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4dkr2"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y0e2n"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_idffn"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_g64cp"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 6 )
-hand_blend_tree = ExtResource( 3 )
-default_pose = ExtResource( 7 )
-
-[node name="Hand_Glove_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Glove_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6y0fw"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_t6qch")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_4dkr2")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_y0e2n")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_idffn")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_g64cp")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("6")
+hand_blend_tree = ExtResource("3")
+default_pose = ExtResource("3_rnhp7")
+
+[node name="Hand_Glove_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="Hand_Glove_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 5 )
+bone_idx = 0
+script = ExtResource("5")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 1
+script = ExtResource("5")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 2
+script = ExtResource("5")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 3
+script = ExtResource("5")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 5
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 6
+script = ExtResource("5")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 7
+script = ExtResource("5")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 8
+script = ExtResource("5")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 10
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 11
+script = ExtResource("5")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 12
+script = ExtResource("5")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 13
+script = ExtResource("5")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 15
+script = ExtResource("5")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 16
+script = ExtResource("5")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 17
+script = ExtResource("5")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Glove_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 18
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 20
+script = ExtResource("5")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 21
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 22
+script = ExtResource("5")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Glove_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 23
+script = ExtResource("5")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource( 2 )]
+[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_6y0fw")
anim_player = NodePath("../Hand_Glove_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn
index 30ebf6b1..60a45d6e 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/left_tac_glove.tscn
@@ -1,58 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://hpr0v012ghsb"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6]
+[ext_resource type="PackedScene" uid="uid://bu07alt6vkbaq" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_s33di"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"]
+[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtjek"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_acswy"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3125k"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_kjpaa"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kisbg"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-hand_blend_tree = ExtResource( 4 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Glove_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource( 2 )]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_yoy4c"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtjek")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_acswy")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_3125k")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_kjpaa")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_kisbg")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("4")
+default_pose = ExtResource("3_s33di")
+
+[node name="Hand_Glove_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Glove_L" parent="Hand_Glove_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="AnimationPlayer" parent="Hand_Glove_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_yoy4c")
anim_player = NodePath("../Hand_Glove_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn
index 039c6f61..84e076bf 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_hand.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://d1tl07geqm5xq"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_R.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xmpie"]
+[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_coci4"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_me2sf"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_oarao"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gm5ny"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_3o6s4"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_jyl6y"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_coci4")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_me2sf")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_oarao")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_gm5ny")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_3o6s4")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="RightHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_xmpie")
-[node name="Hand_R" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
+[node name="Hand_R" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
-[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
+[node name="Skeleton3D" parent="Hand_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource( 2 )]
+[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_jyl6y")
anim_player = NodePath("../Hand_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn
index 5ff6ef90..4a0c5303 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_fullglove_physics_hand.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://cigx2gnf4tg4d"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_R.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7]
+[ext_resource type="PackedScene" uid="uid://ds1t8vc0kxoeo" path="res://addons/godot-xr-tools/hands/model/hand_r.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_23oai"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vuxsk"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5q5w8"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_bh13w"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ntfdl"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_bsbib"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 7 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_R" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_tchuk"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vuxsk")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_5q5w8")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_bh13w")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_ntfdl")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_bsbib")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("7")
+default_pose = ExtResource("3_23oai")
+
+[node name="Hand_R" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Hand_R" parent="Hand_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource( 2 )]
+[node name="AnimationPlayer" parent="Hand_R" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_tchuk")
anim_player = NodePath("../Hand_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn
index c9a30b03..3062ad97 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_hand.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://raeeicvvindd"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_lydk3"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vm3m2"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cim8x"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_j022x"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_0hd6d"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_okkj6"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l2q6m"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vm3m2")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_cim8x")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_j022x")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_0hd6d")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_okkj6")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="RightHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_lydk3")
-[node name="Hand_Nails_R" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
+[node name="Hand_Nails_R" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
-[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
+[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource( 2 )]
+[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_l2q6m")
anim_player = NodePath("../Hand_Nails_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn
index 66cb58fd..50ddcf59 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_hand.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://kcqomcjq52np"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://c6s5nvekg0isa" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_R.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_gqplw"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_lgih3"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wop42"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ufkef"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o5b51"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_pdljy"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 7 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Nails_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Nails_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_8gtsg"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_lgih3")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_wop42")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_ufkef")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_o5b51")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_pdljy")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("7")
+default_pose = ExtResource("3_gqplw")
+
+[node name="Hand_Nails_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Nails_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Hand_Nails_R" parent="Hand_Nails_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_Nails_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Nails_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Nails_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Nails_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_8gtsg")
anim_player = NodePath("../Hand_Nails_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn
index 28bfa876..83b6ff74 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_physics_tac_glove.tscn
@@ -1,204 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://b6xesntm4qeo5"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=7]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_h0fv3"]
+[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_nsl06"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ocujq"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o4l8c"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p0302"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_umc4l"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 6 )
-hand_blend_tree = ExtResource( 3 )
-default_pose = ExtResource( 7 )
-
-[node name="Hand_Glove_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Glove_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_7jd3e"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_nsl06")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ocujq")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_o4l8c")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_p0302")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_umc4l")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("6")
+hand_blend_tree = ExtResource("3")
+default_pose = ExtResource("3_h0fv3")
+
+[node name="Hand_Glove_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="Hand_Glove_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 5 )
+bone_idx = 0
+script = ExtResource("5")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 1
+script = ExtResource("5")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 2
+script = ExtResource("5")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 3
+script = ExtResource("5")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 5
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 6
+script = ExtResource("5")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 7
+script = ExtResource("5")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 8
+script = ExtResource("5")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 10
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 11
+script = ExtResource("5")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 12
+script = ExtResource("5")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 13
+script = ExtResource("5")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 15
+script = ExtResource("5")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 16
+script = ExtResource("5")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 17
+script = ExtResource("5")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Glove_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 18
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 20
+script = ExtResource("5")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 21
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 22
+script = ExtResource("5")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Glove_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 23
+script = ExtResource("5")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_7jd3e")
anim_player = NodePath("../Hand_Glove_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
diff --git a/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn
index 6bfbdc31..3ac11a0e 100644
--- a/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn
+++ b/addons/godot-xr-tools/hands/scenes/highpoly/right_tac_glove.tscn
@@ -1,58 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://dup2vp8v5rpi5"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://w7th3d2hl7b5" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_R.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_3ih8a"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"]
+[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r46i5"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v5idg"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_cqi1y"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4vdom"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_hef27"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 3 )
-hand_blend_tree = ExtResource( 4 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Glove_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource( 1 )]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_g6ftu"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_r46i5")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_v5idg")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_cqi1y")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4vdom")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_hef27")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("4")
+default_pose = ExtResource("3_3ih8a")
+
+[node name="Hand_Glove_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Glove_R" parent="Hand_Glove_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="AnimationPlayer" parent="Hand_Glove_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_g6ftu")
anim_player = NodePath("../Hand_Glove_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn
index a433f83a..1899c636 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn
@@ -1,30 +1,79 @@
-[gd_scene load_steps=7 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://bq86r4yll8po"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=6]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_wyae6"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="5"]
+[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="6"]
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 5 )
-default_pose = ExtResource( 4 )
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qtto3"]
+animation = &"Grip"
-[node name="Hand_low_L" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4i0yd"]
+animation = &"Grip"
-[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 6 )
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fahbc"]
+filter_enabled = true
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource( 1 )]
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_470u2"]
+animation = &"Grip 5"
+
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_fhgyt"]
+filter_enabled = true
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_d6sxb"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_qtto3")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_4i0yd")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_fahbc")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_470u2")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_fhgyt")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("5")
+default_pose = ExtResource("3_wyae6")
+
+[node name="Hand_low_L" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("6")
+
+[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = ExtResource( 5 )
+tree_root = SubResource("AnimationNodeBlendTree_d6sxb")
anim_player = NodePath("../Hand_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn
index d860126f..7455a9dd 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://b4kad2kuba1yn"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_ry7qg"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ar6i3"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_r1b52"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_d643f"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c3h37"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ihxeh"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, -60.58 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_4tr00"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_ar6i3")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_r1b52")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_d643f")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_c3h37")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_ihxeh")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_ry7qg")
-[node name="Hand_Nails_low_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
+[node name="Hand_Nails_low_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
-[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
+[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource( 2 )]
+[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_4tr00")
anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn
index e30b827a..651261ff 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_fullglove_low.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://b8hc2ex21u8xj"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7]
+[ext_resource type="PackedScene" uid="uid://16colgxrw27d" path="res://addons/godot-xr-tools/hands/model/Hand_low_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_4017m"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a581x"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_si6rq"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_jv1ag"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3qeiu"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4eh8j"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, -60.58 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 7 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_low_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_low_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vftdd"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_a581x")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_si6rq")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_jv1ag")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_3qeiu")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_4eh8j")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("7")
+default_pose = ExtResource("3_4017m")
+
+[node name="Hand_low_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Hand_low_L" parent="Hand_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_low_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource( 2 )]
+[node name="AnimationPlayer" parent="Hand_low_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_vftdd")
anim_player = NodePath("../Hand_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn
index 9fe0aac8..c2354807 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://bdwmserhqai5h"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://c4nba0qpi0uls" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_L.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_t17lq"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="7"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_uqn4v"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_783qd"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_uetxr"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_52cah"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4js8y"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, -60.58 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 7 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Nails_low_L" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Nails_low_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_8iblu"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_uqn4v")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_783qd")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_uetxr")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_52cah")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_4js8y")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("7")
+default_pose = ExtResource("3_t17lq")
+
+[node name="Hand_Nails_low_L" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Nails_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Hand_Nails_low_L" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_low_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Nails_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Nails_low_L" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_8iblu")
anim_player = NodePath("../Hand_Nails_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn
index fe5faaa2..7e8f30d7 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_tac_glove_low.tscn
@@ -1,207 +1,226 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://bj1aas6kty3qx"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=7]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="2"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_oehre"]
+[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8ybkh"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_onyre"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_y2hch"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_33lkx"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_yde33"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, -60.58 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftPhysicsHand" type="Spatial"]
-script = ExtResource( 6 )
-hand_blend_tree = ExtResource( 3 )
-default_pose = ExtResource( 7 )
-
-[node name="Hand_Glove_low_L" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Glove_low_L/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="1"]
-transform = Transform( 1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_gfg8a"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_8ybkh")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_onyre")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_y2hch")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_33lkx")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_yde33")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftPhysicsHand" type="Node3D"]
+script = ExtResource("6")
+hand_blend_tree = ExtResource("3")
+default_pose = ExtResource("3_oehre")
+
+[node name="Hand_Glove_low_L" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, -1.83077e-05, 1.52659e-08, 1.52668e-08, 0.00166774, 0.999999, -1.83077e-05, -0.999999, 0.00166774, 3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_L"
-script = ExtResource( 5 )
+bone_idx = 0
+script = ExtResource("5")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, 0.0514604, -0.017651, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, 0.0514604, -0.0176509, -0.017651, 0.613335, 0.789626, 0.0514604, -0.788145, 0.613335, 0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 1
+script = ExtResource("5")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892202, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, 0.383958, -0.0587628, -0.124052, 0.434264, 0.892203, 0.368087, -0.814856, 0.447796, 0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 2
+script = ExtResource("5")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, 0.366844, 0.0151708, -0.154037, 0.352396, 0.923087, 0.333283, -0.860954, 0.384292, 0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 3
+script = ExtResource("5")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, 0.0336562, -0.0231681, 0.0231985, -0.000511129, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, 0.0336562, -0.0231681, 0.0231985, -0.00051113, 0.999731, 0.0336353, -0.999433, -0.00129147, -0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 5
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, 0.0419384, -0.0509326, 0.041317, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, 0.0419384, -0.0509326, 0.0413169, 0.204661, 0.97796, 0.0514381, -0.977934, 0.202483, -0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 6
+script = ExtResource("5")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983147, 0.648829, -0.743577, 0.161601, -0.00569706, 0.0301916, -0.117561 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, 0.644453, -0.0854741, -0.040588, 0.178251, 0.983148, 0.648829, -0.743577, 0.161601, -0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 7
+script = ExtResource("5")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356468, 0.927111, -0.115741, -0.109286, 0.164404, 0.98032, 0.927894, -0.336804, 0.159925, 0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 8
+script = ExtResource("5")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.997479, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, -0.0127165, -0.00125617, 0.000365489, -0.0698022, 0.997561, -0.0127732, -0.99748, -0.0697919, -0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 10
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997157, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, 0.237654, -0.00293004, 0.0207339, -0.0724503, 0.997156, 0.236766, -0.968644, -0.0753018, -0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 11
+script = ExtResource("5")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328061, -0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, 0.643161, -0.0351718, 0.0290327, 0.0201225, 0.999376, 0.643468, -0.765466, -0.00328059, -0.000328456, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 12
+script = ExtResource("5")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, 0.95453, -0.0243818, 0.0374454, 0.0138673, 0.999202, 0.954107, -0.297791, -0.0316226, 0.0205207, -0.00467056, -0.148631)
bone_name = "Middle_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 13
+script = ExtResource("5")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, 0.047074, 0.0237409, -0.0169882, -0.138981, 0.990149, 0.0499098, -0.989175, -0.137988, -0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 15
+script = ExtResource("5")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, 0.181854, 0.0266582, 0.0109494, -0.202722, 0.979175, 0.183471, -0.962202, -0.20126, -0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 16
+script = ExtResource("5")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.988591, 0.629924, -0.762173, -0.149291, 0.000778396, -0.0314857, -0.111722 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, 0.634603, 0.0200164, 0.0794845, -0.127948, 0.98859, 0.629924, -0.762173, -0.149291, 0.000778393, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 17
+script = ExtResource("5")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, 0.924068, 0.0253391, 0.114105, -0.0742599, 0.99069, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381387, 0.924068, 0.025339, 0.114105, -0.0742599, 0.990689, 0.917346, -0.374945, -0.133762, 0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 18
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, 0.0165318, 0.0422887, -0.0385953, -0.181426, 0.982647, 0.0239172, -0.983265, -0.180601, -4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_L"
-script = ExtResource( 5 )
+bone_idx = 20
+script = ExtResource("5")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, 0.239304, 0.0579745, 0.0185536, -0.305761, 0.951927, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, 0.239304, 0.0579745, 0.0185535, -0.305761, 0.951928, 0.245527, -0.921544, -0.300787, 0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_L"
-script = ExtResource( 5 )
+bone_idx = 21
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.7072, -0.683325, -0.181481, 0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, 0.713816, 0.0374602, 0.103947, -0.153407, 0.982681, 0.707199, -0.683325, -0.181481, 0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_L"
-script = ExtResource( 5 )
+bone_idx = 22
+script = ExtResource("5")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_low_L/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, 0.939845, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Glove_low_L@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, 0.939844, 0.0220291, 0.162162, -0.081867, 0.983362, 0.926011, -0.331647, -0.180315, 0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_L"
-script = ExtResource( 5 )
+bone_idx = 23
+script = ExtResource("5")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_gfg8a")
anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
-parameters/Trigger/blend_amount = 0
+parameters/Trigger/blend_amount = 0.0
[editable path="Hand_Glove_low_L"]
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn
index 980b130f..26176eba 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn
@@ -1,61 +1,82 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://bx1xdisoqo1f6"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" type="Resource" id=6]
+[ext_resource type="PackedScene" uid="uid://bnx4hithcij6y" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_L.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://the6y7swe6j0" path="res://addons/godot-xr-tools/hands/animations/left/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dertgu7k8alls" path="res://addons/godot-xr-tools/hands/poses/pose_default_left.tres" id="3_iq5xt"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://dl8yf7ipqotd1" path="res://addons/godot-xr-tools/hands/animations/left/hand_blend_tree.tres" id="4"]
+[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a8arv"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_n3ud5"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ncqlk"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_csu2l"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_akg52"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, -60.58 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="LeftHand" type="Spatial"]
-script = ExtResource( 3 )
-hand_blend_tree = ExtResource( 4 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Glove_low_L" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15 )
-
-[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource( 2 )]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_2oq6b"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_a8arv")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_n3ud5")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_ncqlk")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_csu2l")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_akg52")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="LeftHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("4")
+default_pose = ExtResource("3_iq5xt")
+
+[node name="Hand_Glove_low_L" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="mesh_Glove_low_L" parent="Hand_Glove_low_L/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="AnimationPlayer" parent="Hand_Glove_low_L" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_2oq6b")
anim_player = NodePath("../Hand_Glove_low_L/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
-parameters/Trigger/blend_amount = 0
+parameters/Trigger/blend_amount = 0.0
[editable path="Hand_Glove_low_L"]
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn
index 764cd87f..530078bc 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://xqimcf20s2jp"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"]
+[ext_resource type="Material" uid="uid://ba02jnd2dswyn" path="res://addons/godot-xr-tools/hands/materials/cleaning_glove.material" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_r4xyu"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sjc0m"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_bf0db"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_kdora"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l50hj"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vrc3g"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ayvqt"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_sjc0m")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_bf0db")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_kdora")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_l50hj")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_vrc3g")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 4 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="RightHand" type="Node3D"]
+script = ExtResource("4")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_r4xyu")
-[node name="Hand_low_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
+[node name="Hand_low_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
-[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 3 )
+[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource( 1 )]
+[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("3")
+
+[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_ayvqt")
anim_player = NodePath("../Hand_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn
index c1f7fc31..e985370a 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn
@@ -1,61 +1,79 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://l2n30mpbkdyw"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_f67ka"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_mbwcx"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dyc5q"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_dknar"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_covtt"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_h5uio"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_7kqgu"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_mbwcx")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_dyc5q")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_dknar")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_covtt")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_h5uio")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
+[node name="RightHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_f67ka")
-[node name="Hand_Nails_low_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
+[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
-[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
+[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
-[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource( 1 )]
+[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_7kqgu")
anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn
index 42153c00..727b2826 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_fullglove_low.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://bkdeegb8w3oah"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=8]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cjrac51wst3tu" path="res://addons/godot-xr-tools/hands/model/Hand_low_R.gltf" id="2"]
+[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_e8slj"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="4"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="6"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="8"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_60yel"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_caigx"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_73xac"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_neei8"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_sdm1s"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 4 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 6 )
-default_pose = ExtResource( 5 )
-
-[node name="Hand_low_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_low_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 3 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_l7k65"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_60yel")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_caigx")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_73xac")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_neei8")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_sdm1s")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("4")
+hand_blend_tree = ExtResource("6")
+default_pose = ExtResource("3_e8slj")
+
+[node name="Hand_low_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Hand_low_R" parent="Hand_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("3")
+
+[node name="Hand_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 8 )
+bone_idx = 0
+script = ExtResource("8")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 8 )
+bone_idx = 1
+script = ExtResource("8")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 8 )
+bone_idx = 2
+script = ExtResource("8")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 8 )
+bone_idx = 3
+script = ExtResource("8")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 8 )
+bone_idx = 5
+script = ExtResource("8")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 8 )
+bone_idx = 6
+script = ExtResource("8")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 8 )
+bone_idx = 7
+script = ExtResource("8")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 8 )
+bone_idx = 8
+script = ExtResource("8")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 8 )
+bone_idx = 10
+script = ExtResource("8")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 8 )
+bone_idx = 11
+script = ExtResource("8")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 8 )
+bone_idx = 12
+script = ExtResource("8")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 8 )
+bone_idx = 13
+script = ExtResource("8")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 8 )
+bone_idx = 15
+script = ExtResource("8")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 8 )
+bone_idx = 16
+script = ExtResource("8")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 8 )
+bone_idx = 17
+script = ExtResource("8")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 8 )
+bone_idx = 18
+script = ExtResource("8")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 8 )
+bone_idx = 20
+script = ExtResource("8")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 8 )
+bone_idx = 21
+script = ExtResource("8")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 8 )
+bone_idx = 22
+script = ExtResource("8")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_low_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_low_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 8 )
+bone_idx = 23
+script = ExtResource("8")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_low_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_l7k65")
anim_player = NodePath("../Hand_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn
index 8193eb19..2a07a3f5 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn
@@ -1,207 +1,223 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://btf05hjpw6k05"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=7]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://dunu03tc5vdbh" path="res://addons/godot-xr-tools/hands/model/Hand_Nails_low_R.gltf" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_b86a5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="4"]
+[ext_resource type="Material" uid="uid://dbvge3quu3bju" path="res://addons/godot-xr-tools/hands/materials/caucasian_hand.material" id="5"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="7"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_rw5cd"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3liek"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_j2nhk"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_svl77"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_8t3gu"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 3 )
-__meta__ = {
-"_editor_description_": ""
-}
-hand_blend_tree = ExtResource( 7 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Nails_low_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Nails_low_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_li0ij"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_rw5cd")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_3liek")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_j2nhk")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_svl77")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_8t3gu")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("7")
+default_pose = ExtResource("3_b86a5")
+
+[node name="Hand_Nails_low_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Nails_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Hand_Nails_low_R" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 4 )
+bone_idx = 0
+script = ExtResource("4")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 1
+script = ExtResource("4")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 2
+script = ExtResource("4")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 3
+script = ExtResource("4")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 5
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 6
+script = ExtResource("4")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 7
+script = ExtResource("4")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 8
+script = ExtResource("4")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 10
+script = ExtResource("4")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 11
+script = ExtResource("4")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 12
+script = ExtResource("4")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 13
+script = ExtResource("4")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 15
+script = ExtResource("4")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 16
+script = ExtResource("4")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 17
+script = ExtResource("4")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 18
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 4 )
+bone_idx = 20
+script = ExtResource("4")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 4 )
+bone_idx = 21
+script = ExtResource("4")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 4 )
+bone_idx = 22
+script = ExtResource("4")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Nails_low_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Nails_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Nails_low_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 4 )
+bone_idx = 23
+script = ExtResource("4")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Nails_low_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_li0ij")
anim_player = NodePath("../Hand_Nails_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0.0
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn
index 4abd534f..e180b80d 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_tac_glove_low.tscn
@@ -1,207 +1,226 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://c2uvwvdlsfuep"]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" type="Script" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/physics_hand.gd" type="Script" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=7]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="2"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_xodao"]
+[ext_resource type="Material" uid="uid://dy4ya7w0k18ds" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_dark_camo.material" id="4"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand_physics_bone.gd" id="5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/physics_hand.gd" id="6"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_47dg5"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_u8oa1"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_p10ot"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_xl7l4"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_wmdow"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightPhysicsHand" type="Spatial"]
-script = ExtResource( 6 )
-hand_blend_tree = ExtResource( 3 )
-default_pose = ExtResource( 7 )
-
-[node name="Hand_Glove_low_R" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="Skeleton" parent="Hand_Glove_low_R/Armature" index="0"]
-bones/0/bound_children = [ NodePath("BoneRoot") ]
-bones/1/bound_children = [ NodePath("BoneThumbMetacarpal") ]
-bones/2/bound_children = [ NodePath("BoneThumbProximal") ]
-bones/3/bound_children = [ NodePath("BoneThumbDistal") ]
-bones/5/bound_children = [ NodePath("BoneIndexMetacarpal") ]
-bones/6/bound_children = [ NodePath("BoneIndexProximal") ]
-bones/7/bound_children = [ NodePath("BoneIndexMiddle") ]
-bones/8/bound_children = [ NodePath("BoneIndexDistal") ]
-bones/10/bound_children = [ NodePath("BoneMiddleMetacarpal") ]
-bones/11/bound_children = [ NodePath("BoneMiddleProximal") ]
-bones/12/bound_children = [ NodePath("BoneMiddleMiddle") ]
-bones/13/bound_children = [ NodePath("BoneMiddleDistal") ]
-bones/15/bound_children = [ NodePath("BoneRingMetacarpal") ]
-bones/16/bound_children = [ NodePath("BoneRingProximal") ]
-bones/17/bound_children = [ NodePath("BoneRingMiddle") ]
-bones/18/bound_children = [ NodePath("BoneRingDistal") ]
-bones/20/bound_children = [ NodePath("BonePinkyMetacarpal") ]
-bones/21/bound_children = [ NodePath("BonePinkyProximal") ]
-bones/22/bound_children = [ NodePath("BonePinkyMiddle") ]
-bones/23/bound_children = [ NodePath("BonePinkyDistal") ]
-
-[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 4 )
-
-[node name="BoneRoot" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="1"]
-transform = Transform( 1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_vnv28"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_47dg5")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_u8oa1")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_p10ot")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_xl7l4")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_wmdow")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightPhysicsHand" type="Node3D"]
+script = ExtResource("6")
+hand_blend_tree = ExtResource("3")
+default_pose = ExtResource("3_xodao")
+
+[node name="Hand_Glove_low_R" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("4")
+
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRoot" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(1, 1.83077e-05, -1.52659e-08, -1.52668e-08, 0.00166774, 0.999999, 1.83077e-05, -0.999999, 0.00166774, -3.86425e-08, -1.86975e-05, 0.0271756)
bone_name = "Wrist_R"
-script = ExtResource( 5 )
+bone_idx = 0
+script = ExtResource("5")
width_ratio = 0.8
-[node name="BoneThumbMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="2"]
-transform = Transform( 0.998519, -0.0514604, 0.017651, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.5936e-05 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="2"]
+transform = Transform3D(0.998519, -0.0514604, 0.0176509, 0.017651, 0.613335, 0.789626, -0.0514604, -0.788145, 0.613335, -0.00999954, 0.0200266, 3.59323e-05)
bone_name = "Thumb_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 1
+script = ExtResource("5")
length = 0.05
-[node name="BoneThumbProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="3"]
-transform = Transform( 0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892202, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353647 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="3"]
+transform = Transform3D(0.921479, -0.383958, 0.0587628, 0.124052, 0.434264, 0.892203, -0.368087, -0.814856, 0.447796, -0.012311, 0.0475754, -0.0353648)
bone_name = "Thumb_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 2
+script = ExtResource("5")
-[node name="BoneThumbDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="4"]
-transform = Transform( 0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneThumbDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="4"]
+transform = Transform3D(0.930159, -0.366844, -0.0151708, 0.154037, 0.352396, 0.923087, -0.333283, -0.860954, 0.384292, -0.028494, 0.0658787, -0.0697092)
bone_name = "Thumb_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 3
+script = ExtResource("5")
length = 0.02
-[node name="BoneIndexMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="5"]
-transform = Transform( 0.999165, -0.0336562, 0.0231681, -0.0231985, -0.000511129, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="5"]
+transform = Transform3D(0.999165, -0.0336562, 0.0231681, -0.0231985, -0.00051113, 0.999731, -0.0336353, -0.999433, -0.00129147, 0.0100005, 0.0224317, 3.59286e-05)
bone_name = "Index_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 5
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneIndexProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="6"]
-transform = Transform( 0.997821, -0.0419384, 0.0509327, -0.041317, 0.204661, 0.97796, -0.0514382, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="6"]
+transform = Transform3D(0.997821, -0.0419385, 0.0509327, -0.0413169, 0.204661, 0.97796, -0.0514381, -0.977934, 0.202483, 0.00729559, 0.0223907, -0.0802861)
bone_name = "Index_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 6
+script = ExtResource("5")
-[node name="BoneIndexMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="7"]
-transform = Transform( 0.759851, -0.644453, 0.0854741, 0.040588, 0.178251, 0.983147, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="7"]
+transform = Transform3D(0.759851, -0.644453, 0.0854741, 0.0405881, 0.178251, 0.983148, -0.648829, -0.743577, 0.161601, 0.00569705, 0.0301916, -0.117561)
bone_name = "Index_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 7
+script = ExtResource("5")
length = 0.025
bone_group = "index_finger"
-[node name="BoneIndexDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="8"]
-transform = Transform( 0.356468, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneIndexDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="8"]
+transform = Transform3D(0.356467, -0.927111, 0.115741, 0.109286, 0.164404, 0.98032, -0.927894, -0.336803, 0.159925, -0.0145038, 0.035779, -0.140869)
bone_name = "Index_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 8
+script = ExtResource("5")
length = 0.02
bone_group = "index_finger"
-[node name="BoneMiddleMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="9"]
-transform = Transform( 0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.997479, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="9"]
+transform = Transform3D(0.999918, 0.0127165, 0.00125617, -0.000365489, -0.0698022, 0.997561, 0.0127732, -0.99748, -0.0697919, 0.0100005, 0.00355416, 3.59286e-05)
bone_name = "Middle_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 10
+script = ExtResource("5")
length = 0.08
width_ratio = 0.2
-[node name="BoneMiddleProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="10"]
-transform = Transform( 0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997157, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="10"]
+transform = Transform3D(0.971345, -0.237654, 0.00293004, -0.0207339, -0.0724503, 0.997156, -0.236766, -0.968644, -0.0753018, 0.0110237, -0.00206236, -0.0802245)
bone_name = "Middle_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 11
+script = ExtResource("5")
-[node name="BoneMiddleMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="11"]
-transform = Transform( 0.764922, -0.643161, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765465, -0.00328062, 0.000328453, -0.00532286, -0.123817 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="11"]
+transform = Transform3D(0.764922, -0.643162, 0.0351718, -0.0290327, 0.0201225, 0.999376, -0.643468, -0.765466, -0.00328059, 0.00032845, -0.00532286, -0.123817)
bone_name = "Middle_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 12
+script = ExtResource("5")
length = 0.025
-[node name="BoneMiddleDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="12"]
-transform = Transform( 0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467056, -0.148631 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneMiddleDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="12"]
+transform = Transform3D(0.297115, -0.95453, 0.0243818, -0.0374454, 0.0138673, 0.999202, -0.954107, -0.297791, -0.0316226, -0.0205207, -0.00467055, -0.148631)
bone_name = "Middle_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 13
+script = ExtResource("5")
length = 0.02
-[node name="BoneRingMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="13"]
-transform = Transform( 0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="13"]
+transform = Transform3D(0.998609, -0.047074, -0.0237409, 0.0169882, -0.138981, 0.990149, -0.0499098, -0.989175, -0.137988, 0.0100005, -0.0130734, 3.59304e-05)
bone_name = "Ring_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 15
+script = ExtResource("5")
length = 0.07
width_ratio = 0.2
-[node name="BoneRingProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="14"]
-transform = Transform( 0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651962, -0.0233502, -0.0731075 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="14"]
+transform = Transform3D(0.982964, -0.181854, -0.0266582, -0.0109494, -0.202722, 0.979175, -0.183471, -0.962202, -0.20126, 0.00651963, -0.0233502, -0.0731075)
bone_name = "Ring_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 16
+script = ExtResource("5")
length = 0.028
-[node name="BoneRingMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="15"]
-transform = Transform( 0.772579, -0.634603, -0.0200164, -0.0794845, -0.127948, 0.988591, -0.629924, -0.762173, -0.149291, -0.000778398, -0.0314857, -0.111722 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="15"]
+transform = Transform3D(0.772579, -0.634603, -0.0200164, -0.0794844, -0.127948, 0.98859, -0.629924, -0.762173, -0.149291, -0.000778395, -0.0314857, -0.111722)
bone_name = "Ring_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 17
+script = ExtResource("5")
length = 0.025
-[node name="BoneRingDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="16"]
-transform = Transform( 0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.99069, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BoneRingDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="16"]
+transform = Transform3D(0.381388, -0.924068, -0.025339, -0.114105, -0.0742599, 0.990689, -0.917346, -0.374945, -0.133762, -0.0184188, -0.0350424, -0.132908)
bone_name = "Ring_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 18
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMetacarpal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="17"]
-transform = Transform( 0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.57587e-07, -0.0299734, 3.59416e-05 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyMetacarpal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="17"]
+transform = Transform3D(0.998969, -0.0165318, -0.0422887, 0.0385953, -0.181426, 0.982647, -0.0239172, -0.983265, -0.180601, 4.58211e-07, -0.0299734, 3.59304e-05)
bone_name = "Little_Metacarpal_R"
-script = ExtResource( 5 )
+bone_idx = 20
+script = ExtResource("5")
length = 0.07
width_ratio = 0.18
-[node name="BonePinkyProximal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="18"]
-transform = Transform( 0.969212, -0.239304, -0.0579745, -0.0185536, -0.305761, 0.951927, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyProximal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="18"]
+transform = Transform3D(0.969212, -0.239304, -0.0579745, -0.0185535, -0.305761, 0.951928, -0.245527, -0.921544, -0.300787, -0.00108587, -0.0418952, -0.0645756)
bone_name = "Little_Proximal_R"
-script = ExtResource( 5 )
+bone_idx = 21
+script = ExtResource("5")
length = 0.02
-[node name="BonePinkyMiddle" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="19"]
-transform = Transform( 0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.7072, -0.683325, -0.181481, -0.00901248, -0.0520231, -0.0951004 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyMiddle" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="19"]
+transform = Transform3D(0.699331, -0.713816, -0.0374602, -0.103947, -0.153407, 0.982681, -0.707199, -0.683325, -0.181481, -0.00901247, -0.0520231, -0.0951004)
bone_name = "Little_Intermediate_R"
-script = ExtResource( 5 )
+bone_idx = 22
+script = ExtResource("5")
length = 0.015
-[node name="BonePinkyDistal" type="BoneAttachment" parent="Hand_Glove_low_R/Armature/Skeleton" index="20"]
-transform = Transform( 0.340891, -0.939845, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417 )
+[node name="Hand_Glove_low_R@Armature@Skeleton@BonePinkyDistal" type="BoneAttachment3D" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="20"]
+transform = Transform3D(0.340891, -0.939844, -0.0220291, -0.162162, -0.081867, 0.983362, -0.926011, -0.331647, -0.180315, -0.0218786, -0.0547881, -0.107417)
bone_name = "Little_Distal_R"
-script = ExtResource( 5 )
+bone_idx = 23
+script = ExtResource("5")
length = 0.015
-[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource( 1 )]
+[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("1")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_vnv28")
anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
-parameters/Trigger/blend_amount = 0
+parameters/Trigger/blend_amount = 0.0
[editable path="Hand_Glove_low_R"]
diff --git a/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn
index eafc74c2..a258c443 100644
--- a/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn
+++ b/addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn
@@ -1,61 +1,82 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://chumpejwiub7f"]
-[ext_resource path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/hand.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" type="AnimationNodeBlendTree" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" type="Resource" id=6]
+[ext_resource type="PackedScene" uid="uid://csgsp0wuw8ucy" path="res://addons/godot-xr-tools/hands/model/Hand_Glove_low_R.gltf" id="1"]
+[ext_resource type="PackedScene" uid="uid://bxipj7hyjwy6f" path="res://addons/godot-xr-tools/hands/animations/right/AnimationPlayer.tscn" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/hand.gd" id="3"]
+[ext_resource type="Resource" uid="uid://dmpjtk0l8vh6v" path="res://addons/godot-xr-tools/hands/poses/pose_default_right.tres" id="3_2wryo"]
+[ext_resource type="AnimationNodeBlendTree" uid="uid://m85b1gogdums" path="res://addons/godot-xr-tools/hands/animations/right/hand_blend_tree.tres" id="4"]
+[ext_resource type="Material" uid="uid://b718ylp68nhtc" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="5"]
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_jjiin"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_501h4"]
+animation = &"Grip"
-[sub_resource type="AnimationNodeBlend2" id=3]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_1dqi4"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4o3a2"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5v4fm"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -587.059, 45.3009 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[node name="RightHand" type="Spatial"]
-script = ExtResource( 3 )
-hand_blend_tree = ExtResource( 4 )
-default_pose = ExtResource( 6 )
-
-[node name="Hand_Glove_low_R" parent="." instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15 )
-
-[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton" index="0"]
-material/0 = ExtResource( 5 )
-
-[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource( 2 )]
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ra758"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_jjiin")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_501h4")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_1dqi4")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_4o3a2")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_5v4fm")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="RightHand" type="Node3D"]
+script = ExtResource("3")
+hand_blend_tree = ExtResource("4")
+default_pose = ExtResource("3_2wryo")
+
+[node name="Hand_Glove_low_R" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.03, -0.05, 0.15)
+
+[node name="Skeleton3D" parent="Hand_Glove_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Glove_low_R" parent="Hand_Glove_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("5")
+
+[node name="AnimationPlayer" parent="Hand_Glove_low_R" instance=ExtResource("2")]
[node name="AnimationTree" type="AnimationTree" parent="."]
-tree_root = SubResource( 6 )
+tree_root = SubResource("AnimationNodeBlendTree_ra758")
anim_player = NodePath("../Hand_Glove_low_R/AnimationPlayer")
active = true
parameters/Grip/blend_amount = 0
-parameters/Trigger/blend_amount = 0
+parameters/Trigger/blend_amount = 0.0
[editable path="Hand_Glove_low_R"]
diff --git a/addons/godot-xr-tools/hands/textures/african_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import
index 76549137..be520188 100644
--- a/addons/godot-xr-tools/hands/textures/african_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/african_baseColor.png.import
@@ -1,37 +1,34 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.stex"
-path.etc="res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cs7m7m0k2506g"
+path="res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/african_baseColor.png"
-dest_files=[ "res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.s3tc.stex", "res://.import/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.etc.stex" ]
+dest_files=["res://.godot/imported/african_baseColor.png-c1a63b2c85973a5f7673482d994697e9.ctex"]
[params]
-compress/mode=2
+compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import
index 70fadef4..9ab4c6d4 100644
--- a/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png.import
@@ -1,37 +1,34 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.stex"
-path.etc="res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dk8o82rjww802"
+path="res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/african_realistic_baseColor.png"
-dest_files=[ "res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.s3tc.stex", "res://.import/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.etc.stex" ]
+dest_files=["res://.godot/imported/african_realistic_baseColor.png-67cf0f3230115c16edbeaf7b76430f7c.ctex"]
[params]
-compress/mode=2
+compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import
index 63223d13..6ef2fdef 100644
--- a/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/caucasian_baseColor.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.stex"
-path.etc="res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc.stex"
+type="CompressedTexture2D"
+uid="uid://c506svon268ms"
+path.s3tc="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex"
+path.etc2="res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/caucasian_baseColor.png"
-dest_files=[ "res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.stex", "res://.import/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc.stex" ]
+dest_files=["res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.s3tc.ctex", "res://.godot/imported/caucasian_baseColor.png-2ffa4b91e9a1b3bcc11c22eccd941be7.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import
index ea1634aa..877755be 100644
--- a/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png.import
@@ -1,37 +1,34 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.stex"
-path.etc="res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc.stex"
+type="CompressedTexture2D"
+uid="uid://n1xq4cm67o07"
+path="res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/caucasian_realistic_baseColor.png"
-dest_files=[ "res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.s3tc.stex", "res://.import/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.etc.stex" ]
+dest_files=["res://.godot/imported/caucasian_realistic_baseColor.png-6d28d56c1e76917b749358861074492c.ctex"]
[params]
-compress/mode=2
+compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import
index f057caa5..6a06dbb9 100644
--- a/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.stex"
-path.etc="res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dv711ytktesj2"
+path.s3tc="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex"
+path.etc2="res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/cleaning_glove_baseColor.png"
-dest_files=[ "res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.stex", "res://.import/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc.stex" ]
+dest_files=["res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.s3tc.ctex", "res://.godot/imported/cleaning_glove_baseColor.png-775896445d04c5f9ecad1dcd0609e336.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import
index 4f483079..f3ad84f5 100644
--- a/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png.import
@@ -1,37 +1,34 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.stex"
-path.etc="res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cocorrka3dtq3"
+path="res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_african_dark_camo.png"
-dest_files=[ "res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.s3tc.stex", "res://.import/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.etc.stex" ]
+dest_files=["res://.godot/imported/glove_african_dark_camo.png-3a526d8d251e73995f6fd3ba5cdd0b4e.ctex"]
[params]
-compress/mode=2
+compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import
index bd900c77..a75b6fe7 100644
--- a/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_african_green_camo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.stex"
-path.etc="res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bidphehpipwhg"
+path.s3tc="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_african_green_camo.png"
-dest_files=[ "res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.stex", "res://.import/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc.stex" ]
+dest_files=["res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.s3tc.ctex", "res://.godot/imported/glove_african_green_camo.png-b4a9e045aac0313108230034e03317fd.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import
index f5f084e0..747c121b 100644
--- a/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.stex"
-path.etc="res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc.stex"
+type="CompressedTexture2D"
+uid="uid://c7jutkax2fd1k"
+path.s3tc="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_dark_camo.png"
-dest_files=[ "res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.stex", "res://.import/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc.stex" ]
+dest_files=["res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.s3tc.ctex", "res://.godot/imported/glove_caucasian_dark_camo.png-338e35680a2de0f7c6ad596eba6a3d5f.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import
index 1fb01cf8..d7a9d9e0 100644
--- a/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.stex"
-path.etc="res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dgkfppran5j1f"
+path.s3tc="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_caucasian_green_camo.png"
-dest_files=[ "res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.stex", "res://.import/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc.stex" ]
+dest_files=["res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.s3tc.ctex", "res://.godot/imported/glove_caucasian_green_camo.png-009f6b98bc0f9d73ac78a6b6900a0d00.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import
index 241f41df..075d3034 100644
--- a/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.stex"
-path.etc="res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bw8rmigwt5pr4"
+path.s3tc="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png"
-dest_files=[ "res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.stex", "res://.import/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc.stex" ]
+dest_files=["res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.s3tc.ctex", "res://.godot/imported/glove_fingerless_normal.png-46736b8f0a977e37b17257f7bbbb718f.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=1
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_fingerless_normal.png"
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import
index 39367df1..8b11c531 100644
--- a/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.stex"
-path.etc="res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc.stex"
+type="CompressedTexture2D"
+uid="uid://d2iocwfr47kqp"
+path.s3tc="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_fingerless_occlusionRoughnessMetallic.png"
-dest_files=[ "res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.stex", "res://.import/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc.stex" ]
+dest_files=["res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.s3tc.ctex", "res://.godot/imported/glove_fingerless_occlusionRoughnessMetallic.png-441bf1f84442c3cd6ae3834c9c982565.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_normal.png.import b/addons/godot-xr-tools/hands/textures/glove_normal.png.import
index bc0a219c..23724ec5 100644
--- a/addons/godot-xr-tools/hands/textures/glove_normal.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_normal.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.stex"
-path.etc="res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dt6k4nuvpo38o"
+path.s3tc="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_normal.png"
-dest_files=[ "res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.stex", "res://.import/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc.stex" ]
+dest_files=["res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.s3tc.ctex", "res://.godot/imported/glove_normal.png-da82759e655cb7106cb0172b7076b948.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=1
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal="res://addons/godot-xr-tools/hands/textures/glove_normal.png"
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import
index ab4e964d..2bfd1611 100644
--- a/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import
+++ b/addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.stex"
-path.etc="res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc.stex"
+type="CompressedTexture2D"
+uid="uid://yslwgnpbpeen"
+path.s3tc="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex"
+path.etc2="res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/glove_occlusionRoughnessMetallic.png"
-dest_files=[ "res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.stex", "res://.import/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc.stex" ]
+dest_files=["res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.s3tc.ctex", "res://.godot/imported/glove_occlusionRoughnessMetallic.png-1a61c4638e30c81daa59d92c8681eb2c.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/hands_normal.png.import b/addons/godot-xr-tools/hands/textures/hands_normal.png.import
index 344211e5..998156c7 100644
--- a/addons/godot-xr-tools/hands/textures/hands_normal.png.import
+++ b/addons/godot-xr-tools/hands/textures/hands_normal.png.import
@@ -1,37 +1,34 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.stex"
-path.etc="res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.etc.stex"
+type="CompressedTexture2D"
+uid="uid://b6tgv6ucbgv3r"
+path="res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
-"vram_texture": true
+"vram_texture": false
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/hands_normal.png"
-dest_files=[ "res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.s3tc.stex", "res://.import/hands_normal.png-291c7217751274bfe1199e3de899450f.etc.stex" ]
+dest_files=["res://.godot/imported/hands_normal.png-291c7217751274bfe1199e3de899450f.ctex"]
[params]
-compress/mode=2
+compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
-compress/normal_map=1
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import
index 88618095..30c17360 100644
--- a/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import
+++ b/addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.stex"
-path.etc="res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc.stex"
+type="CompressedTexture2D"
+uid="uid://h3sjbnu6uplb"
+path.s3tc="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex"
+path.etc2="res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/hands_occlusionRoughnessMetallic.png"
-dest_files=[ "res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.stex", "res://.import/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc.stex" ]
+dest_files=["res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.s3tc.ctex", "res://.godot/imported/hands_occlusionRoughnessMetallic.png-73229fc54301aa8833117ebde8abfd4e.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import
index 7e41ecab..4320130c 100644
--- a/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import
+++ b/addons/godot-xr-tools/hands/textures/labglove_baseColor.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.stex"
-path.etc="res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc.stex"
+type="CompressedTexture2D"
+uid="uid://d4gbpgjwjuovb"
+path.s3tc="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex"
+path.etc2="res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/hands/textures/labglove_baseColor.png"
-dest_files=[ "res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.stex", "res://.import/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc.stex" ]
+dest_files=["res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.s3tc.ctex", "res://.godot/imported/labglove_baseColor.png-2eb9fa4d9955a5755a96f0663ee3ceb2.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/images/icon.png.import b/addons/godot-xr-tools/images/icon.png.import
index 55b19dee..7f907410 100644
--- a/addons/godot-xr-tools/images/icon.png.import
+++ b/addons/godot-xr-tools/images/icon.png.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/icon.png-1d8efcc4c33e64800e22ea3150ef148d.stex"
+type="CompressedTexture2D"
+uid="uid://bcll0cv3rie0i"
+path="res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,24 @@ metadata={
[deps]
source_file="res://addons/godot-xr-tools/images/icon.png"
-dest_files=[ "res://.import/icon.png-1d8efcc4c33e64800e22ea3150ef148d.stex" ]
+dest_files=["res://.godot/imported/icon.png-1d8efcc4c33e64800e22ea3150ef148d.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/addons/godot-xr-tools/images/ring.png.import b/addons/godot-xr-tools/images/ring.png.import
index 46afadb2..dfa1e531 100644
--- a/addons/godot-xr-tools/images/ring.png.import
+++ b/addons/godot-xr-tools/images/ring.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.stex"
-path.etc="res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc.stex"
+type="CompressedTexture2D"
+uid="uid://8s03ra8tp0hr"
+path.s3tc="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex"
+path.etc2="res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/images/ring.png"
-dest_files=[ "res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.stex", "res://.import/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc.stex" ]
+dest_files=["res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.s3tc.ctex", "res://.godot/imported/ring.png-34d9c9e9780f2732148a5b14fcac48dd.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/images/teleport_arrow.png.import b/addons/godot-xr-tools/images/teleport_arrow.png.import
index fd993352..bc4f1012 100644
--- a/addons/godot-xr-tools/images/teleport_arrow.png.import
+++ b/addons/godot-xr-tools/images/teleport_arrow.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.stex"
-path.etc="res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc.stex"
+type="CompressedTexture2D"
+uid="uid://ddoj6c345cb0c"
+path.s3tc="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex"
+path.etc2="res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/images/teleport_arrow.png"
-dest_files=[ "res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.stex", "res://.import/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc.stex" ]
+dest_files=["res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.s3tc.ctex", "res://.godot/imported/teleport_arrow.png-f1bd44b6f478277692b3fa29171b62d3.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/images/teleport_target.png.import b/addons/godot-xr-tools/images/teleport_target.png.import
index 30747fcd..1e39e038 100644
--- a/addons/godot-xr-tools/images/teleport_target.png.import
+++ b/addons/godot-xr-tools/images/teleport_target.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.stex"
-path.etc="res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cu4j1s8qr1rjq"
+path.s3tc="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex"
+path.etc2="res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://addons/godot-xr-tools/images/teleport_target.png"
-dest_files=[ "res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.stex", "res://.import/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc.stex" ]
+dest_files=["res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.s3tc.ctex", "res://.godot/imported/teleport_target.png-cd812f7d5692711ac91f6c8a4753ad73.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.gd b/addons/godot-xr-tools/interactables/interactable_area_button.gd
index 2d48b864..d3ceebda 100644
--- a/addons/godot-xr-tools/interactables/interactable_area_button.gd
+++ b/addons/godot-xr-tools/interactables/interactable_area_button.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsInteractableAreaButton
-extends Area
+extends Area3D
## XR Tools Interactable Area Button script
@@ -18,58 +18,53 @@ signal button_released(button)
## Button object
-export var button := NodePath()
+@export var button := NodePath()
## Displacement when pressed
-export var displacement : Vector3 = Vector3(0.0, -0.02, 0.0)
+@export var displacement : Vector3 = Vector3(0.0, -0.02, 0.0)
## Displacement duration
-export var duration : float = 0.1
+@export var duration : float = 0.1
## If true, the button is pressed
var pressed : bool = false
-# Dictionary of trigger items pressing the button
+## Dictionary of trigger items pressing the button
var _trigger_items := {}
-# Tween for animating button
+## Tween for animating button
var _tween: Tween
# Node references
-onready var _button: Spatial = get_node(button)
+@onready var _button: Node3D = get_node(button)
# Button positions
-onready var _button_up := _button.transform.origin
-onready var _button_down := _button_up + displacement
+@onready var _button_up := _button.transform.origin
+@onready var _button_down := _button_up + displacement
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableAreaButton" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableAreaButton"
# Called when the node enters the scene tree for the first time.
func _ready():
- # Construct the button animation tween
- _tween = Tween.new()
- _tween.set_name("Tween")
- add_child(_tween)
-
# Connect area signals
- if connect("area_entered", self, "_on_button_entered"):
+ if area_entered.connect(_on_button_entered):
push_error("Unable to connect button area signal")
- if connect("area_exited", self, "_on_button_exited"):
+ if area_exited.connect(_on_button_exited):
push_error("Unable to connect button area signal")
- if connect("body_entered", self, "_on_button_entered"):
+ if body_entered.connect(_on_button_entered):
push_error("Unable to connect button area signal")
- if connect("body_exited", self, "_on_button_exited"):
+ if body_exited.connect(_on_button_exited):
push_error("Unable to connect button area signal")
# Called when an area or body enters the button area
-func _on_button_entered(item: Spatial) -> void:
+func _on_button_entered(item: Node3D) -> void:
# Add to the dictionary of trigger items
_trigger_items[item] = item
@@ -78,54 +73,54 @@ func _on_button_entered(item: Spatial) -> void:
# Update state to pressed
pressed = true
- # Start the tween to move the button transform to the down position
- _tween.interpolate_property(
- _button,
- "transform:origin",
- null,
- _button_down,
- duration,
- Tween.TRANS_LINEAR,
- Tween.EASE_IN_OUT)
- _tween.start()
+ # Kill the current tween
+ if _tween:
+ _tween.kill()
+
+ # Construct the button animation tween
+ _tween = get_tree().create_tween()
+ _tween.set_trans(Tween.TRANS_LINEAR)
+ _tween.set_ease(Tween.EASE_IN_OUT)
+ _tween.tween_property(_button, "position", _button_down, duration)
# Emit the pressed signal
- emit_signal("button_pressed",self)
+ button_pressed.emit(self)
# Called when an area or body exits the button area
-func _on_button_exited(item: Spatial) -> void:
+func _on_button_exited(item: Node3D) -> void:
# Remove from the dictionary of triggered items
_trigger_items.erase(item)
# Detect transition to released
- if pressed and _trigger_items.empty():
+ if pressed and _trigger_items.is_empty():
# Update state to released
pressed = false
- # Start the tween to move the button transform to the up position
- _tween.interpolate_property(
- _button,
- "transform:origin",
- null,
- _button_up,
- duration,
- Tween.TRANS_LINEAR,
- Tween.EASE_IN_OUT)
- _tween.start()
+ # Kill the current tween
+ if _tween:
+ _tween.kill()
+
+ # Construct the button animation tween
+ _tween = get_tree().create_tween()
+ _tween.set_trans(Tween.TRANS_LINEAR)
+ _tween.set_ease(Tween.EASE_IN_OUT)
+ _tween.tween_property(_button, "position", _button_up, duration)
# Emit the released signal
- emit_signal("button_released",self)
+ button_released.emit(self)
# Check button configuration
-func _get_configuration_warning() -> String:
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Ensure a button has been specified
if not get_node_or_null(button):
- return "Button node to animate must be specified"
+ warnings.append("Button node to animate must be specified")
# Ensure a valid duration
if duration <= 0.0:
- return "Duration must be a positive number"
+ warnings.append("Duration must be a positive number")
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/interactables/interactable_area_button.tscn b/addons/godot-xr-tools/interactables/interactable_area_button.tscn
index 20218aa9..0163708a 100644
--- a/addons/godot-xr-tools/interactables/interactable_area_button.tscn
+++ b/addons/godot-xr-tools/interactables/interactable_area_button.tscn
@@ -1,8 +1,8 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://cme66uldrjl2i"]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" id="1"]
-[node name="InteractableAreaButton" type="Area"]
+[node name="InteractableAreaButton" type="Area3D"]
collision_layer = 0
collision_mask = 131072
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/interactables/interactable_handle.gd b/addons/godot-xr-tools/interactables/interactable_handle.gd
index ca927228..672018e7 100644
--- a/addons/godot-xr-tools/interactables/interactable_handle.gd
+++ b/addons/godot-xr-tools/interactables/interactable_handle.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsInteractableHandle
extends XRToolsPickable
@@ -20,22 +20,25 @@ extends XRToolsPickable
## Distance from the handle origin to auto-snap the grab
-export var snap_distance : float = 0.3
+@export var snap_distance : float = 0.3
# Handle origin spatial node
-onready var handle_origin: Spatial = get_parent()
+@onready var handle_origin: Node3D = get_parent()
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableHandle" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableHandle" or super(name)
# Called when this handle is added to the scene
func _ready() -> void:
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Ensure we start at our origin
- transform = Transform.IDENTITY
+ transform = Transform3D.IDENTITY
# Turn off processing - it will be turned on only when held
set_process(false)
@@ -57,7 +60,7 @@ func _process(_delta: float) -> void:
# Called when the handle is picked up
func pick_up(by, with_controller) -> void:
# Call the base-class to perform the pickup
- .pick_up(by, with_controller)
+ super(by, with_controller)
# Enable the process function while held
set_process(true)
@@ -66,18 +69,20 @@ func pick_up(by, with_controller) -> void:
# Called when the handle is dropped
func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void:
# Call the base-class to perform the drop, but with no velocity
- .let_go(Vector3.ZERO, Vector3.ZERO)
+ super(Vector3.ZERO, Vector3.ZERO)
# Disable the process function as no-longer held
set_process(false)
# Snap the handle back to the origin
- transform = Transform.IDENTITY
+ transform = Transform3D.IDENTITY
+
+# Check handle configurationv
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
-# Check handle configuration
-func _get_configuration_warning() -> String:
- if !transform.is_equal_approx(Transform.IDENTITY):
- return "Interactable handle must have no transform from its parent handle origin"
+ if !transform.is_equal_approx(Transform3D.IDENTITY):
+ warnings.append("Interactable handle must have no transform from its parent handle origin")
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/interactables/interactable_handle.tscn b/addons/godot-xr-tools/interactables/interactable_handle.tscn
index f4ae416a..35ad8e19 100644
--- a/addons/godot-xr-tools/interactables/interactable_handle.tscn
+++ b/addons/godot-xr-tools/interactables/interactable_handle.tscn
@@ -1,11 +1,10 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bddj5m7ull6g0"]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="1"]
-[node name="InteractableHandle" type="RigidBody"]
+[node name="InteractableHandle" type="RigidBody3D"]
collision_layer = 262144
collision_mask = 0
-mode = 1
gravity_scale = 0.0
-script = ExtResource( 1 )
+script = ExtResource("1")
picked_up_layer = 0
diff --git a/addons/godot-xr-tools/interactables/interactable_handle_driven.gd b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd
index d1c0c820..f9f5358e 100644
--- a/addons/godot-xr-tools/interactables/interactable_handle_driven.gd
+++ b/addons/godot-xr-tools/interactables/interactable_handle_driven.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsInteractableHandleDriven
-extends Spatial
+extends Node3D
## XR Tools Interactable Handle Driven script
@@ -24,9 +24,9 @@ signal released(interactable)
var grabbed_handles := Array()
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableHandleDriven" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableHandleDriven"
# Called when the node enters the scene tree for the first time.
@@ -58,7 +58,7 @@ func _on_handle_dropped(handle: XRToolsInteractableHandle) -> void:
grabbed_handles.erase(handle)
# Disable processing when we drop the last handle
- if grabbed_handles.empty():
+ if grabbed_handles.is_empty():
# Disable physics processing
set_process(false)
@@ -71,9 +71,9 @@ func _hook_child_handles(node: Node) -> void:
# If this node is a handle then hook its handle signals
var handle := node as XRToolsInteractableHandle
if handle:
- if handle.connect("picked_up", self, "_on_handle_picked_up"):
+ if handle.picked_up.connect(_on_handle_picked_up):
push_error("Unable to connect handle signal")
- if handle.connect("dropped", self, "_on_handle_dropped"):
+ if handle.dropped.connect(_on_handle_dropped):
push_error("Unable to connect handle signal")
# Recurse into all children
diff --git a/addons/godot-xr-tools/interactables/interactable_hinge.gd b/addons/godot-xr-tools/interactables/interactable_hinge.gd
index c19b16a3..ce774a53 100644
--- a/addons/godot-xr-tools/interactables/interactable_hinge.gd
+++ b/addons/godot-xr-tools/interactables/interactable_hinge.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsInteractableHinge
extends XRToolsInteractableHandleDriven
@@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven
## The hinge rotates itelf around its local X axis, and so should be
## placed as a child of a node to translate and rotate as appropriate.
##
-## The interactable hinge is not a [RigidBody], and as such will not react
+## The interactable hinge is not a [RigidBody3D], and as such will not react
## to any collisions.
@@ -20,47 +20,50 @@ signal hinge_moved(angle)
## Hinge minimum limit
-export var hinge_limit_min : float = -45.0 setget _set_hinge_limit_min
+@export var hinge_limit_min : float = -45.0: set = _set_hinge_limit_min
## Hinge maximum limit
-export var hinge_limit_max : float = 45.0 setget _set_hinge_limit_max
+@export var hinge_limit_max : float = 45.0: set = _set_hinge_limit_max
## Hinge step size (zero for no steps)
-export var hinge_steps : float = 0.0 setget _set_hinge_steps
+@export var hinge_steps : float = 0.0: set = _set_hinge_steps
## Hinge position
-export var hinge_position : float = 0.0 setget _set_hinge_position
+@export var hinge_position : float = 0.0: set = _set_hinge_position
## Default position
-export var default_position : float = 0.0 setget _set_default_position
+@export var default_position : float = 0.0: set = _set_default_position
## If true, the hinge moves to the default position when releases
-export var default_on_release : bool = false
+@export var default_on_release : bool = false
# Hinge values in radians
-onready var _hinge_limit_min_rad : float = deg2rad(hinge_limit_min)
-onready var _hinge_limit_max_rad : float = deg2rad(hinge_limit_max)
-onready var _hinge_steps_rad : float = deg2rad(hinge_steps)
-onready var _hinge_position_rad : float = deg2rad(hinge_position)
-onready var _default_position_rad : float = deg2rad(default_position)
+@onready var _hinge_limit_min_rad : float = deg_to_rad(hinge_limit_min)
+@onready var _hinge_limit_max_rad : float = deg_to_rad(hinge_limit_max)
+@onready var _hinge_steps_rad : float = deg_to_rad(hinge_steps)
+@onready var _hinge_position_rad : float = deg_to_rad(hinge_position)
+@onready var _default_position_rad : float = deg_to_rad(default_position)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableHinge" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableHinge" or super(name)
# Called when the node enters the scene tree for the first time.
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Set the initial position to match the initial hinge position value
- transform = Transform(
- Basis(Vector3(_hinge_position_rad, 0, 0)),
+ transform = Transform3D(
+ Basis.from_euler(Vector3(_hinge_position_rad, 0, 0)),
Vector3.ZERO
)
# Connect signals
- if connect("released", self, "_on_hinge_released"):
+ if released.connect(_on_hinge_released):
push_error("Cannot connect hinge released signal")
@@ -70,9 +73,8 @@ func _process(_delta: float) -> void:
var offset_sum := 0.0
for item in grabbed_handles:
var handle := item as XRToolsInteractableHandle
- var to_handle: Vector3 = global_transform.xform_inv(handle.global_transform.origin)
- var to_handle_origin: Vector3 = global_transform.xform_inv(
- handle.handle_origin.global_transform.origin)
+ var to_handle: Vector3 = handle.global_transform.origin * global_transform
+ var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform
to_handle.x = 0.0
to_handle_origin.x = 0.0
offset_sum += to_handle_origin.signed_angle_to(to_handle, Vector3.RIGHT)
@@ -93,7 +95,7 @@ func move_hinge(position: float) -> void:
# Update the current positon
_hinge_position_rad = position
- hinge_position = rad2deg(position)
+ hinge_position = rad_to_deg(position)
# Emit the moved signal
emit_signal("hinge_moved", hinge_position)
@@ -108,33 +110,33 @@ func _on_hinge_released(_interactable: XRToolsInteractableHinge):
# Called when hinge_limit_min is set externally
func _set_hinge_limit_min(value: float) -> void:
hinge_limit_min = value
- _hinge_limit_min_rad = deg2rad(value)
+ _hinge_limit_min_rad = deg_to_rad(value)
# Called when hinge_limit_max is set externally
func _set_hinge_limit_max(value: float) -> void:
hinge_limit_max = value
- _hinge_limit_max_rad = deg2rad(value)
+ _hinge_limit_max_rad = deg_to_rad(value)
# Called when hinge_steps is set externally
func _set_hinge_steps(value: float) -> void:
hinge_steps = value
- _hinge_steps_rad = deg2rad(value)
+ _hinge_steps_rad = deg_to_rad(value)
# Called when hinge_position is set externally
func _set_hinge_position(value: float) -> void:
- var position := deg2rad(value)
+ var position := deg_to_rad(value)
position = _do_move_hinge(position)
- hinge_position = rad2deg(position)
+ hinge_position = rad_to_deg(position)
_hinge_position_rad = position
# Called when default_position is set externally
func _set_default_position(value: float) -> void:
default_position = value
- _default_position_rad = deg2rad(value)
+ _default_position_rad = deg_to_rad(value)
# Do the hinge move
@@ -148,7 +150,7 @@ func _do_move_hinge(position: float) -> float:
# Move if necessary
if position != _hinge_position_rad:
- transform.basis = Basis(Vector3(position, 0.0, 0.0))
+ transform.basis = Basis.from_euler(Vector3(position, 0.0, 0.0))
# Return the updated position
return position
diff --git a/addons/godot-xr-tools/interactables/interactable_joystick.gd b/addons/godot-xr-tools/interactables/interactable_joystick.gd
index 92b91399..c33047fa 100644
--- a/addons/godot-xr-tools/interactables/interactable_joystick.gd
+++ b/addons/godot-xr-tools/interactables/interactable_joystick.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsInteractableJoystick
extends XRToolsInteractableHandleDriven
@@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven
## The joystick rotates itelf around its local X/Y axes, and so should be
## placed as a child of a node to translate and rotate as appropriate.
##
-## The interactable joystick is not a [RigidBody], and as such will not react
+## The interactable joystick is not a [RigidBody3D], and as such will not react
## to any collisions.
@@ -27,66 +27,69 @@ const VECTOR_YZ := Vector3(0.0, 1.0, 1.0)
## Joystick X minimum limit
-export var joystick_x_limit_min : float = -45.0 setget _set_joystick_x_limit_min
+@export var joystick_x_limit_min : float = -45.0: set = _set_joystick_x_limit_min
## Joystick X maximum limit
-export var joystick_x_limit_max : float = 45.0 setget _set_joystick_x_limit_max
+@export var joystick_x_limit_max : float = 45.0: set = _set_joystick_x_limit_max
## Joystick Y minimum limit
-export var joystick_y_limit_min : float = -45.0 setget _set_joystick_y_limit_min
+@export var joystick_y_limit_min : float = -45.0: set = _set_joystick_y_limit_min
## Joystick Y maximum limit
-export var joystick_y_limit_max : float = 45.0 setget _set_joystick_y_limit_max
+@export var joystick_y_limit_max : float = 45.0: set = _set_joystick_y_limit_max
## Joystick X step size (zero for no steps)
-export var joystick_x_steps : float = 0.0 setget _set_joystick_x_steps
+@export var joystick_x_steps : float = 0.0: set = _set_joystick_x_steps
## Joystick Y step size (zero for no steps)
-export var joystick_y_steps : float = 0.0 setget _set_joystick_y_steps
+@export var joystick_y_steps : float = 0.0: set = _set_joystick_y_steps
## Joystick X position
-export var joystick_x_position : float = 0.0 setget _set_joystick_x_position
+@export var joystick_x_position : float = 0.0: set = _set_joystick_x_position
## Joystick Y position
-export var joystick_y_position : float = 0.0 setget _set_joystick_y_position
+@export var joystick_y_position : float = 0.0: set = _set_joystick_y_position
## Default X position
-export var default_x_position : float = 0.0 setget _set_default_x_position
+@export var default_x_position : float = 0.0: set = _set_default_x_position
## Default Y position
-export var default_y_position : float = 0.0 setget _set_default_y_position
+@export var default_y_position : float = 0.0: set = _set_default_y_position
## If true, the joystick moves to the default position when released
-export var default_on_release : bool = false
+@export var default_on_release : bool = false
# Joystick values in radians
-onready var _joystick_x_limit_min_rad : float = deg2rad(joystick_x_limit_min)
-onready var _joystick_x_limit_max_rad : float = deg2rad(joystick_x_limit_max)
-onready var _joystick_y_limit_min_rad : float = deg2rad(joystick_y_limit_min)
-onready var _joystick_y_limit_max_rad : float = deg2rad(joystick_y_limit_max)
-onready var _joystick_x_steps_rad : float = deg2rad(joystick_x_steps)
-onready var _joystick_y_steps_rad : float = deg2rad(joystick_y_steps)
-onready var _joystick_x_position_rad : float = deg2rad(joystick_x_position)
-onready var _joystick_y_position_rad : float = deg2rad(joystick_y_position)
-onready var _default_x_position_rad : float = deg2rad(default_x_position)
-onready var _default_y_position_rad : float = deg2rad(default_y_position)
+@onready var _joystick_x_limit_min_rad : float = deg_to_rad(joystick_x_limit_min)
+@onready var _joystick_x_limit_max_rad : float = deg_to_rad(joystick_x_limit_max)
+@onready var _joystick_y_limit_min_rad : float = deg_to_rad(joystick_y_limit_min)
+@onready var _joystick_y_limit_max_rad : float = deg_to_rad(joystick_y_limit_max)
+@onready var _joystick_x_steps_rad : float = deg_to_rad(joystick_x_steps)
+@onready var _joystick_y_steps_rad : float = deg_to_rad(joystick_y_steps)
+@onready var _joystick_x_position_rad : float = deg_to_rad(joystick_x_position)
+@onready var _joystick_y_position_rad : float = deg_to_rad(joystick_y_position)
+@onready var _default_x_position_rad : float = deg_to_rad(default_x_position)
+@onready var _default_y_position_rad : float = deg_to_rad(default_y_position)
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableJoystick" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableJoystick" or super(name)
# Called when the node enters the scene tree for the first time.
func _ready():
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Set the initial position to match the initial joystick position value
- transform = Transform(
- Basis(Vector3(_joystick_y_position_rad, _joystick_x_position_rad, 0)),
+ transform = Transform3D(
+ Basis.from_euler(Vector3(_joystick_y_position_rad, _joystick_x_position_rad, 0)),
Vector3.ZERO)
# Connect signals
- if connect("released", self, "_on_joystick_released"):
+ if released.connect(_on_joystick_released):
push_error("Cannot connect joystick released signal")
@@ -97,7 +100,7 @@ func _process(_delta: float) -> void:
return
# Skip if no handles grabbed
- if grabbed_handles.empty():
+ if grabbed_handles.is_empty():
return
# Get the total handle angular offsets
@@ -105,9 +108,8 @@ func _process(_delta: float) -> void:
var offset_y_sum := 0.0
for item in grabbed_handles:
var handle := item as XRToolsInteractableHandle
- var to_handle: Vector3 = global_transform.xform_inv(handle.global_transform.origin)
- var to_handle_origin: Vector3 = global_transform.xform_inv(
- handle.handle_origin.global_transform.origin)
+ var to_handle: Vector3 = handle.global_transform.origin * global_transform
+ var to_handle_origin: Vector3 = handle.handle_origin.global_transform.origin * global_transform
var to_handle_x := to_handle * VECTOR_XZ
var to_handle_origin_x := to_handle_origin * VECTOR_XZ
@@ -137,8 +139,8 @@ func move_joystick(position_x: float, position_y: float) -> void:
# Update the current positon
_joystick_x_position_rad = position.x
_joystick_y_position_rad = position.y
- joystick_x_position = rad2deg(position.x)
- joystick_y_position = rad2deg(position.y)
+ joystick_x_position = rad_to_deg(position.x)
+ joystick_y_position = rad_to_deg(position.y)
# Emit the joystick signal
emit_signal("joystick_moved", joystick_x_position, joystick_y_position)
@@ -153,65 +155,65 @@ func _on_joystick_released(_interactable: XRToolsInteractableJoystick):
# Called when joystick_x_limit_min is set externally
func _set_joystick_x_limit_min(value: float) -> void:
joystick_x_limit_min = value
- _joystick_x_limit_min_rad = deg2rad(value)
+ _joystick_x_limit_min_rad = deg_to_rad(value)
# Called when joystick_y_limit_min is set externally
func _set_joystick_y_limit_min(value: float) -> void:
joystick_y_limit_min = value
- _joystick_y_limit_min_rad = deg2rad(value)
+ _joystick_y_limit_min_rad = deg_to_rad(value)
# Called when joystick_x_limit_max is set externally
func _set_joystick_x_limit_max(value: float) -> void:
joystick_x_limit_max = value
- _joystick_x_limit_max_rad = deg2rad(value)
+ _joystick_x_limit_max_rad = deg_to_rad(value)
# Called when joystick_y_limit_max is set externally
func _set_joystick_y_limit_max(value: float) -> void:
joystick_y_limit_max = value
- _joystick_y_limit_max_rad = deg2rad(value)
+ _joystick_y_limit_max_rad = deg_to_rad(value)
# Called when joystick_x_steps is set externally
func _set_joystick_x_steps(value: float) -> void:
joystick_x_steps = value
- _joystick_x_steps_rad = deg2rad(value)
+ _joystick_x_steps_rad = deg_to_rad(value)
# Called when joystick_y_steps is set externally
func _set_joystick_y_steps(value: float) -> void:
joystick_y_steps = value
- _joystick_y_steps_rad = deg2rad(value)
+ _joystick_y_steps_rad = deg_to_rad(value)
# Called when joystick_x_position is set externally
func _set_joystick_x_position(value: float) -> void:
- var position := Vector2(deg2rad(value), _joystick_y_position_rad)
+ var position := Vector2(deg_to_rad(value), _joystick_y_position_rad)
position = _do_move_joystick(position)
- joystick_x_position = rad2deg(position.x)
+ joystick_x_position = rad_to_deg(position.x)
_joystick_x_position_rad = position.x
# Called when joystick_y_position is set externally
func _set_joystick_y_position(value: float) -> void:
- var position := Vector2(_joystick_x_position_rad, deg2rad(value))
+ var position := Vector2(_joystick_x_position_rad, deg_to_rad(value))
position = _do_move_joystick(position)
- joystick_y_position = rad2deg(position.y)
+ joystick_y_position = rad_to_deg(position.y)
_joystick_y_position_rad = position.y
# Called when default_x_position is set externally
func _set_default_x_position(value: float) -> void:
default_x_position = value
- _default_x_position_rad = deg2rad(value)
+ _default_x_position_rad = deg_to_rad(value)
# Called when default_y_position is set externally
func _set_default_y_position(value: float) -> void:
default_y_position = value
- _default_y_position_rad = deg2rad(value)
+ _default_y_position_rad = deg_to_rad(value)
# Do the joystick move
@@ -228,7 +230,7 @@ func _do_move_joystick(position: Vector2) -> Vector2:
# Move if necessary
if position.x != _joystick_x_position_rad or position.y != _joystick_y_position_rad:
- transform.basis = Basis(Vector3(position.y, position.x, 0.0))
+ transform.basis = Basis.from_euler(Vector3(position.y, position.x, 0.0))
# Return the updated position
return position
diff --git a/addons/godot-xr-tools/interactables/interactable_slider.gd b/addons/godot-xr-tools/interactables/interactable_slider.gd
index 229119d8..5faf517e 100644
--- a/addons/godot-xr-tools/interactables/interactable_slider.gd
+++ b/addons/godot-xr-tools/interactables/interactable_slider.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsInteractableSlider
extends XRToolsInteractableHandleDriven
@@ -11,7 +11,7 @@ extends XRToolsInteractableHandleDriven
## The slider translates itelf along its local X axis, and so should be
## placed as a child of a node to translate and rotate as appropriate.
##
-## The interactable slider is not a [RigidBody], and as such will not react
+## The interactable slider is not a [RigidBody3D], and as such will not react
## to any collisions.
@@ -20,39 +20,42 @@ signal slider_moved(position)
## Slider minimum limit
-export var slider_limit_min : float = 0.0
+@export var slider_limit_min : float = 0.0
## Slider maximum limit
-export var slider_limit_max : float = 1.0
+@export var slider_limit_max : float = 1.0
## Slider step size (zero for no steps)
-export var slider_steps : float = 0.0
+@export var slider_steps : float = 0.0
## Slider position
-export var slider_position : float = 0.0 setget _set_slider_position
+@export var slider_position : float = 0.0: set = _set_slider_position
## Default position
-export var default_position : float = 0.0
+@export var default_position : float = 0.0
## If true, the slider moves to the default position when released
-export var default_on_release : bool = false
+@export var default_on_release : bool = false
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableSlider" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableSlider" or super(name)
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Set the initial position to match the initial slider position value
- transform = Transform(
+ transform = Transform3D(
Basis.IDENTITY,
Vector3(slider_position, 0.0, 0.0)
)
# Connect signals
- if connect("released", self, "_on_slider_released"):
+ if released.connect(_on_slider_released):
push_error("Cannot connect slider released signal")
@@ -65,7 +68,7 @@ func _process(_delta: float) -> void:
offset_sum += handle.global_transform.origin - handle.handle_origin.global_transform.origin
# Rotate the offset sum vector from global into local coordinate space
- offset_sum = global_transform.basis.xform_inv(offset_sum)
+ offset_sum = offset_sum * global_transform.basis
# Get the average displacement in the X axis
var offset := offset_sum.x / grabbed_handles.size()
diff --git a/addons/godot-xr-tools/interactables/interactable_slider.tscn b/addons/godot-xr-tools/interactables/interactable_slider.tscn
index e9cc7679..f864adcc 100644
--- a/addons/godot-xr-tools/interactables/interactable_slider.tscn
+++ b/addons/godot-xr-tools/interactables/interactable_slider.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://b0r6edl74ddo7"]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="1"]
-[node name="InteractableSlider" type="Spatial"]
-script = ExtResource( 1 )
+[node name="InteractableSlider" type="Node3D"]
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/materials/capsule.tres b/addons/godot-xr-tools/materials/capsule.tres
index feaeba31..a4e004f5 100644
--- a/addons/godot-xr-tools/materials/capsule.tres
+++ b/addons/godot-xr-tools/materials/capsule.tres
@@ -1,4 +1,4 @@
-[gd_resource type="SpatialMaterial" format=2]
+[gd_resource type="StandardMaterial3D" format=2]
[resource]
flags_transparent = true
diff --git a/addons/godot-xr-tools/materials/highlight.tres b/addons/godot-xr-tools/materials/highlight.tres
index d694cbe1..d7367129 100644
--- a/addons/godot-xr-tools/materials/highlight.tres
+++ b/addons/godot-xr-tools/materials/highlight.tres
@@ -1,75 +1,69 @@
-[gd_resource type="ShaderMaterial" load_steps=7 format=2]
+[gd_resource type="ShaderMaterial" load_steps=7 format=3 uid="uid://dyuaw57o8y3i"]
-[sub_resource type="VisualShaderNodeColorUniform" id=1]
-uniform_name = "Color"
+[sub_resource type="VisualShaderNodeColorParameter" id="VisualShaderNodeColorParameter_nl6jr"]
+parameter_name = "Color"
-[sub_resource type="VisualShaderNodeVectorOp" id=2]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.5, 0.5, 0.5 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_8dcmn"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.5, 0.5, 0.5)]
operator = 2
-[sub_resource type="VisualShaderNodeScalarConstant" id=3]
+[sub_resource type="VisualShaderNodeFloatConstant" id="VisualShaderNodeFloatConstant_2331j"]
constant = 0.1
-[sub_resource type="VisualShaderNodeFresnel" id=4]
+[sub_resource type="VisualShaderNodeFresnel" id="VisualShaderNodeFresnel_tghd5"]
-[sub_resource type="VisualShaderNodeVectorOp" id=5]
+[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_wy3ip"]
operator = 2
-[sub_resource type="VisualShader" id=6]
+[sub_resource type="VisualShader" id="VisualShader_wb0u4"]
code = "shader_type spatial;
-render_mode specular_schlick_ggx, async_visible;
+uniform vec4 Color : source_color;
-uniform vec4 Color : hint_color;
-
-void vertex() {
-// Output:0
-
-}
-
void fragment() {
-// ColorUniform:2
- vec3 n_out2p0 = Color.rgb;
- float n_out2p1 = Color.a;
+// ColorParameter:2
+ vec4 n_out2p0 = Color;
+
-// Scalar:4
+// FloatConstant:4
float n_out4p0 = 0.100000;
+
// VectorOp:3
- vec3 n_out3p0 = n_out2p0 * vec3(n_out4p0);
+ vec3 n_out3p0 = vec3(n_out2p0.xyz) * vec3(n_out4p0);
+
// Fresnel:5
float n_in5p3 = 1.00000;
float n_out5p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in5p3);
+
// VectorOp:6
- vec3 n_out6p0 = n_out2p0 * vec3(n_out5p0);
+ vec3 n_out6p0 = vec3(n_out2p0.xyz) * vec3(n_out5p0);
+
// Output:0
ALBEDO = n_out3p0;
EMISSION = n_out6p0;
-}
-
-void light() {
-// Output:0
}
"
-nodes/fragment/0/position = Vector2( 660, 60 )
-nodes/fragment/2/node = SubResource( 1 )
-nodes/fragment/2/position = Vector2( 40, 40 )
-nodes/fragment/3/node = SubResource( 2 )
-nodes/fragment/3/position = Vector2( 360, 60 )
-nodes/fragment/4/node = SubResource( 3 )
-nodes/fragment/4/position = Vector2( 20, 180 )
-nodes/fragment/5/node = SubResource( 4 )
-nodes/fragment/5/position = Vector2( 40, 340 )
-nodes/fragment/6/node = SubResource( 5 )
-nodes/fragment/6/position = Vector2( 360, 220 )
-nodes/fragment/connections = PoolIntArray( 2, 0, 3, 0, 3, 0, 0, 0, 4, 0, 3, 1, 2, 0, 6, 0, 5, 0, 6, 1, 6, 0, 0, 5 )
+nodes/fragment/0/position = Vector2(660, 60)
+nodes/fragment/2/node = SubResource("VisualShaderNodeColorParameter_nl6jr")
+nodes/fragment/2/position = Vector2(40, 40)
+nodes/fragment/3/node = SubResource("VisualShaderNodeVectorOp_8dcmn")
+nodes/fragment/3/position = Vector2(360, 60)
+nodes/fragment/4/node = SubResource("VisualShaderNodeFloatConstant_2331j")
+nodes/fragment/4/position = Vector2(20, 180)
+nodes/fragment/5/node = SubResource("VisualShaderNodeFresnel_tghd5")
+nodes/fragment/5/position = Vector2(40, 340)
+nodes/fragment/6/node = SubResource("VisualShaderNodeVectorOp_wy3ip")
+nodes/fragment/6/position = Vector2(360, 220)
+nodes/fragment/connections = PackedInt32Array(2, 0, 3, 0, 3, 0, 0, 0, 4, 0, 3, 1, 2, 0, 6, 0, 5, 0, 6, 1, 6, 0, 0, 5)
[resource]
-shader = SubResource( 6 )
-shader_param/Color = Color( 0.301961, 0.392157, 0.988235, 1 )
+render_priority = 0
+shader = SubResource("VisualShader_wb0u4")
+shader_parameter/Color = Color(0.301961, 0.392157, 0.988235, 1)
diff --git a/addons/godot-xr-tools/materials/pointer.tres b/addons/godot-xr-tools/materials/pointer.tres
index da9fd0bd..ffa1437d 100644
--- a/addons/godot-xr-tools/materials/pointer.tres
+++ b/addons/godot-xr-tools/materials/pointer.tres
@@ -1,4 +1,4 @@
-[gd_resource type="SpatialMaterial" format=2]
+[gd_resource type="StandardMaterial3D" format=2]
[resource]
flags_unshaded = true
diff --git a/addons/godot-xr-tools/materials/target.tres b/addons/godot-xr-tools/materials/target.tres
index 71569029..48904d43 100644
--- a/addons/godot-xr-tools/materials/target.tres
+++ b/addons/godot-xr-tools/materials/target.tres
@@ -1,4 +1,4 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
[ext_resource path="res://addons/godot-xr-tools/images/teleport_target.png" type="Texture" id=1]
diff --git a/addons/godot-xr-tools/materials/teleport.shader b/addons/godot-xr-tools/materials/teleport.gdshader
similarity index 77%
rename from addons/godot-xr-tools/materials/teleport.shader
rename to addons/godot-xr-tools/materials/teleport.gdshader
index 4e914683..7a6503f2 100644
--- a/addons/godot-xr-tools/materials/teleport.shader
+++ b/addons/godot-xr-tools/materials/teleport.gdshader
@@ -4,8 +4,8 @@ render_mode unshaded, cull_disabled, skip_vertex_transform;
uniform float scale_t = 0.2;
uniform float length = 20.0;
uniform float ws = 1.0;
-uniform vec4 mix_color : hint_color;
-uniform sampler2D arrow_texture : hint_albedo;
+uniform vec4 mix_color : source_color;
+uniform sampler2D arrow_texture : source_color;
void vertex() {
vec3 down = vec3(0.0, -1.0 / ws, 0.0);
@@ -19,13 +19,13 @@ void vertex() {
float t2 = t * t;
// translate to our world vector
- VERTEX = (WORLD_MATRIX * vec4(VERTEX, 1.0)).xyz;
+ VERTEX = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
// and now create our arch
VERTEX += down * t2;
- // and apply our camera matrix
- VERTEX = (INV_CAMERA_MATRIX * vec4(VERTEX, 1.0)).xyz;
+ // and apply our view matrix
+ VERTEX = (VIEW_MATRIX * vec4(VERTEX, 1.0)).xyz;
}
void fragment() {
diff --git a/addons/godot-xr-tools/materials/teleport.tres b/addons/godot-xr-tools/materials/teleport.tres
index 29439240..354e9c27 100644
--- a/addons/godot-xr-tools/materials/teleport.tres
+++ b/addons/godot-xr-tools/materials/teleport.tres
@@ -1,12 +1,13 @@
-[gd_resource type="ShaderMaterial" load_steps=3 format=2]
+[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bk72wfw25ff0v"]
-[ext_resource path="res://addons/godot-xr-tools/materials/teleport.shader" type="Shader" id=1]
-[ext_resource path="res://addons/godot-xr-tools/images/teleport_arrow.png" type="Texture" id=2]
+[ext_resource type="Shader" path="res://addons/godot-xr-tools/materials/teleport.gdshader" id="1"]
+[ext_resource type="Texture2D" uid="uid://ddoj6c345cb0c" path="res://addons/godot-xr-tools/images/teleport_arrow.png" id="2"]
[resource]
-shader = ExtResource( 1 )
-shader_param/scale_t = 0.2
-shader_param/length = 30.0
-shader_param/ws = 1.0
-shader_param/mix_color = Color( 0.176471, 0.313726, 0.862745, 1 )
-shader_param/arrow_texture = ExtResource( 2 )
+render_priority = 0
+shader = ExtResource("1")
+shader_parameter/scale_t = 0.2
+shader_parameter/length = 30.0
+shader_parameter/ws = 1.0
+shader_parameter/mix_color = Color(0.176471, 0.313726, 0.862745, 1)
+shader_parameter/arrow_texture = ExtResource("2")
diff --git a/addons/godot-xr-tools/misc/arvr_helpers.gd b/addons/godot-xr-tools/misc/arvr_helpers.gd
deleted file mode 100644
index ab178f3c..00000000
--- a/addons/godot-xr-tools/misc/arvr_helpers.gd
+++ /dev/null
@@ -1,135 +0,0 @@
-tool
-class_name ARVRHelpers
-
-
-## XR Tools Helper Rountines
-##
-## This script contains static functions to help find ARVR player nodes.
-##
-## As these functions are static, the caller must pass in a node located
-## somewhere under the players [ARVROrigin].
-
-
-## Find the [ARVROrigin] node.
-##
-## This function searches for the [ARVROrigin] from the provided node.
-## The caller may provide an optional path (relative to the node) to the
-## [ARVROrigin] to support out-of-tree searches.
-##
-## The search is performed assuming the node is under the [ARVROrigin].
-static func get_arvr_origin(node: Node, path: NodePath = NodePath("")) -> ARVROrigin:
- var origin: ARVROrigin
-
- # Try using the node path first
- if path:
- origin = node.get_node(path) as ARVROrigin
- if origin:
- return origin
-
- # Walk up the tree from the provided node looking for the origin
- origin = XRTools.find_ancestor(node, "*", "ARVROrigin")
- if origin:
- return origin
-
- # We check our children but only one level
- origin = XRTools.find_child(node, "*", "ARVROrigin", false)
- if origin:
- return origin
-
- # Could not find origin
- return null
-
-## Find the [ARVRCamera] node.
-##
-## This function searches for the [ARVRCamera] from the provided node.
-## The caller may provide an optional path (relative to the node) to the
-## [ARVRCamera] to support out-of-tree searches.
-##
-## The search is performed assuming the node is under the [ARVROrigin].
-static func get_arvr_camera(node: Node, path: NodePath = NodePath("")) -> ARVRCamera:
- var camera: ARVRCamera
-
- # Try using the node path first
- if path:
- camera = node.get_node(path) as ARVRCamera
- if camera:
- return camera
-
- # Get the origin
- var origin := get_arvr_origin(node)
- if !origin:
- return null
-
- # Attempt to get by the default name
- camera = origin.get_node_or_null("ARVRCamera") as ARVRCamera
- if camera:
- return camera
-
- # Search all children of the origin for the camera
- camera = XRTools.find_child(origin, "*", "ARVRCamera", false)
- if camera:
- return camera
-
- # Could not find camera
- return null
-
-## Find the [ARVRController] node.
-##
-## This function searches for the [ARVRController] from the provided node.
-## The caller may provide an optional path (relative to the node) to the
-## [ARVRController] to support out-of-tree searches.
-##
-## The search is performed assuming the node is under the [ARVRController].
-static func get_arvr_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController:
- var controller: ARVRController
-
- # Try using the node path first
- if path:
- controller = node.get_node(path) as ARVRController
- if controller:
- return controller
-
- # Search up from the node for the controller
- return XRTools.find_ancestor(node, "*", "ARVRController") as ARVRController
-
-## Find the Left Hand Controller from a player node and an optional path
-static func get_left_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController:
- return _get_controller(node, "LeftHandController", 1, path)
-
-## Find the Right Hand Controller from a player node and an optional path
-static func get_right_controller(node: Node, path: NodePath = NodePath("")) -> ARVRController:
- return _get_controller(node, "RightHandController", 2, path)
-
-# Find a controller given some search parameters
-static func _get_controller(
- var node: Node,
- var default_name: String,
- var id: int,
- var path: NodePath) -> ARVRController:
- var controller: ARVRController
-
- # Try using the node path first
- if path:
- controller = node.get_node(path) as ARVRController
- if controller:
- return controller
-
- # Get the origin
- var origin := get_arvr_origin(node)
- if !origin:
- return null
-
- # Attempt to get by the default name
- controller = origin.get_node_or_null(default_name) as ARVRController
- if controller:
- return controller
-
- # Search all children of the origin for the controller
- for child in origin.get_children():
- controller = child as ARVRController
- if controller and controller.controller_id == id:
- return controller
-
- # Could not find the controller
- return null
-
diff --git a/addons/godot-xr-tools/misc/hold_button.gd b/addons/godot-xr-tools/misc/hold_button.gd
index 52296aff..80ad9bae 100644
--- a/addons/godot-xr-tools/misc/hold_button.gd
+++ b/addons/godot-xr-tools/misc/hold_button.gd
@@ -1,24 +1,24 @@
-tool
+@tool
class_name XRToolsHoldButton
-extends Spatial
+extends Node3D
signal pressed
# Enable our button
-export var enabled : bool = false setget set_enabled
+@export var enabled : bool = false: set = set_enabled
-export (XRTools.Buttons) var activate_button : int = XRTools.Buttons.VR_TRIGGER
+@export var activate_action : String = "trigger_click"
# Countdown
-export var hold_time : float = 2.0
+@export var hold_time : float = 2.0
# Color our our visualisation
-export var color : Color = Color(1.0, 1.0, 1.0, 1.0) setget set_color
+@export var color : Color = Color(1.0, 1.0, 1.0, 1.0): set = set_color
# Size
-export var size : Vector2 = Vector2(1.0, 1.0) setget set_size
+@export var size : Vector2 = Vector2(1.0, 1.0): set = set_size
var time_held = 0.0
@@ -26,14 +26,14 @@ var time_held = 0.0
var material : ShaderMaterial
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHoldButton" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHoldButton"
# Called when the node enters the scene tree for the first time.
func _ready():
- material = $Visualise.get_surface_material(0)
+ material = $Visualise.get_surface_override_material(0)
if !Engine.is_editor_hint():
_set_time_held(0.0)
@@ -50,13 +50,11 @@ func _process(delta):
var button_pressed = false
# we check all trackers
- for i in ARVRServer.get_tracker_count():
- var tracker : ARVRPositionalTracker = ARVRServer.get_tracker(i)
- if tracker.get_hand() != 0:
- var joy_id = tracker.get_joy_id()
-
- if Input.is_joy_button_pressed(joy_id, activate_button):
- button_pressed = true
+ var controllers = XRServer.get_trackers(XRServer.TRACKER_CONTROLLER)
+ for name in controllers:
+ var tracker : XRPositionalTracker = controllers[name]
+ if tracker.get_input(activate_action):
+ button_pressed = true
if button_pressed:
_set_time_held(time_held + delta)
@@ -83,7 +81,7 @@ func _set_time_held(p_time_held):
time_held = p_time_held
if material:
$Visualise.visible = time_held > 0.0
- material.set_shader_param("value", time_held/hold_time)
+ material.set_shader_parameter("value", time_held/hold_time)
func set_size(p_size: Vector2):
@@ -98,7 +96,7 @@ func _update_size():
mesh.size = size
# updating the size will unset our material, so reset it
- $Visualise.set_surface_material(0, material)
+ $Visualise.set_surface_override_material(0, material)
func set_color(p_color: Color):
@@ -108,4 +106,4 @@ func set_color(p_color: Color):
func _update_color():
if material:
- material.set_shader_param("albedo", color)
+ material.set_shader_parameter("albedo", color)
diff --git a/addons/godot-xr-tools/misc/hold_button.tscn b/addons/godot-xr-tools/misc/hold_button.tscn
index 6fd66782..2e690928 100644
--- a/addons/godot-xr-tools/misc/hold_button.tscn
+++ b/addons/godot-xr-tools/misc/hold_button.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://cymteydkxagpp"]
-[ext_resource path="res://addons/godot-xr-tools/misc/hold_button.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/misc/hold_button_visualshader.tres" type="Shader" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/hold_button.gd" id="1"]
+[ext_resource type="Shader" uid="uid://c6okm2ay0fkjf" path="res://addons/godot-xr-tools/misc/hold_button_visualshader.tres" id="2"]
-[sub_resource type="QuadMesh" id=1]
+[sub_resource type="QuadMesh" id="1"]
resource_local_to_scene = true
-[sub_resource type="ShaderMaterial" id=2]
-resource_local_to_scene = true
-shader = ExtResource( 2 )
-shader_param/albedo = Color( 1, 1, 1, 1 )
-shader_param/value = 0.2
-shader_param/fade = 0.05
-shader_param/radius = 0.8
-shader_param/width = 0.2
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_tkbhq"]
+render_priority = 0
+shader = ExtResource("2")
+shader_parameter/albedo = Color(1, 1, 1, 1)
+shader_parameter/fade = 0.05
+shader_parameter/radius = 0.8
+shader_parameter/value = 0.2
+shader_parameter/width = 0.2
-[node name="HoldButton" type="Spatial"]
-script = ExtResource( 1 )
+[node name="HoldButton" type="Node3D"]
+script = ExtResource("1")
-[node name="Visualise" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+[node name="Visualise" type="MeshInstance3D" parent="."]
+mesh = SubResource("1")
+surface_material_override/0 = SubResource("ShaderMaterial_tkbhq")
diff --git a/addons/godot-xr-tools/misc/hold_button_visualshader.tres b/addons/godot-xr-tools/misc/hold_button_visualshader.tres
index 22c5fd47..bddcbec9 100644
--- a/addons/godot-xr-tools/misc/hold_button_visualshader.tres
+++ b/addons/godot-xr-tools/misc/hold_button_visualshader.tres
@@ -1,110 +1,110 @@
-[gd_resource type="VisualShader" load_steps=28 format=2]
+[gd_resource type="VisualShader" load_steps=28 format=3 uid="uid://c6okm2ay0fkjf"]
-[sub_resource type="VisualShaderNodeScalarOp" id=1]
+[sub_resource type="VisualShaderNodeFloatOp" id="1"]
output_port_for_preview = 0
-default_input_values = [ 0, 0.0, 1, 0.1 ]
+default_input_values = [0, 0.0, 1, 0.1]
operator = 3
-[sub_resource type="VisualShaderNodeScalarUniform" id=2]
-uniform_name = "width"
+[sub_resource type="VisualShaderNodeFloatParameter" id="2"]
+parameter_name = "width"
-[sub_resource type="VisualShaderNodeScalarOp" id=11]
+[sub_resource type="VisualShaderNodeFloatOp" id="11"]
output_port_for_preview = 0
-default_input_values = [ 0, 1.0, 1, 0.0 ]
+default_input_values = [0, 1.0, 1, 0.0]
operator = 1
-[sub_resource type="VisualShaderNodeScalarOp" id=12]
+[sub_resource type="VisualShaderNodeFloatOp" id="12"]
output_port_for_preview = 0
operator = 1
-[sub_resource type="VisualShaderNodeScalarUniform" id=13]
-uniform_name = "fade"
+[sub_resource type="VisualShaderNodeFloatParameter" id="13"]
+parameter_name = "fade"
-[sub_resource type="VisualShaderNodeScalarOp" id=14]
-default_input_values = [ 0, 0.0, 1, 2.0 ]
+[sub_resource type="VisualShaderNodeFloatOp" id="14"]
+default_input_values = [0, 0.0, 1, 2.0]
operator = 3
-[sub_resource type="VisualShaderNodeVectorFunc" id=15]
+[sub_resource type="VisualShaderNodeVectorFunc" id="15"]
output_port_for_preview = 0
-[sub_resource type="VisualShaderNodeDotProduct" id=16]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, -1, 0 ) ]
+[sub_resource type="VisualShaderNodeDotProduct" id="16"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)]
-[sub_resource type="VisualShaderNodeVectorOp" id=17]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, -1, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="17"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, -1, 0)]
operator = 8
-[sub_resource type="VisualShaderNodeColorUniform" id=3]
-uniform_name = "albedo"
+[sub_resource type="VisualShaderNodeColorParameter" id="3"]
+parameter_name = "albedo"
-[sub_resource type="VisualShaderNodeVectorDecompose" id=18]
+[sub_resource type="VisualShaderNodeVectorDecompose" id="18"]
-[sub_resource type="VisualShaderNodeIf" id=19]
+[sub_resource type="VisualShaderNodeIf" id="19"]
-[sub_resource type="VisualShaderNodeScalarOp" id=20]
-default_input_values = [ 0, 6.28319, 1, 0.0 ]
+[sub_resource type="VisualShaderNodeFloatOp" id="20"]
+default_input_values = [0, 6.28319, 1, 0.0]
operator = 1
-[sub_resource type="VisualShaderNodeScalarFunc" id=21]
+[sub_resource type="VisualShaderNodeFloatFunc" id="21"]
output_port_for_preview = 0
function = 4
-[sub_resource type="VisualShaderNodeScalarOp" id=22]
+[sub_resource type="VisualShaderNodeFloatOp" id="22"]
output_port_for_preview = 0
-default_input_values = [ 0, 0.0, 1, 6.28319 ]
+default_input_values = [0, 0.0, 1, 6.28319]
operator = 3
-[sub_resource type="VisualShaderNodeScalarUniform" id=23]
-uniform_name = "value"
+[sub_resource type="VisualShaderNodeFloatParameter" id="23"]
+parameter_name = "value"
-[sub_resource type="VisualShaderNodeScalarOp" id=24]
+[sub_resource type="VisualShaderNodeFloatOp" id="24"]
output_port_for_preview = 0
operator = 1
-[sub_resource type="VisualShaderNodeScalarOp" id=25]
+[sub_resource type="VisualShaderNodeFloatOp" id="25"]
output_port_for_preview = 0
operator = 3
-[sub_resource type="VisualShaderNodeScalarOp" id=26]
+[sub_resource type="VisualShaderNodeFloatOp" id="26"]
output_port_for_preview = 0
operator = 6
-[sub_resource type="VisualShaderNodeInput" id=4]
+[sub_resource type="VisualShaderNodeInput" id="4"]
output_port_for_preview = 0
input_name = "uv"
-[sub_resource type="VisualShaderNodeScalarOp" id=27]
-default_input_values = [ 0, 0.0, 1, 6.28319 ]
+[sub_resource type="VisualShaderNodeFloatOp" id="27"]
+default_input_values = [0, 0.0, 1, 6.28319]
operator = 3
-[sub_resource type="VisualShaderNodeVectorOp" id=5]
+[sub_resource type="VisualShaderNodeVectorOp" id="5"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 2, 2, 0 ) ]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 2, 0)]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=6]
+[sub_resource type="VisualShaderNodeVectorOp" id="6"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( -1, -1, 0 ) ]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(-1, -1, 0)]
-[sub_resource type="VisualShaderNodeVectorLen" id=7]
+[sub_resource type="VisualShaderNodeVectorLen" id="7"]
output_port_for_preview = 0
-[sub_resource type="VisualShaderNodeScalarOp" id=8]
+[sub_resource type="VisualShaderNodeFloatOp" id="8"]
output_port_for_preview = 0
operator = 1
-[sub_resource type="VisualShaderNodeScalarUniform" id=9]
-uniform_name = "radius"
+[sub_resource type="VisualShaderNodeFloatParameter" id="9"]
+parameter_name = "radius"
-[sub_resource type="VisualShaderNodeScalarFunc" id=10]
+[sub_resource type="VisualShaderNodeFloatFunc" id="10"]
output_port_for_preview = 0
function = 12
[resource]
code = "shader_type spatial;
-render_mode specular_schlick_ggx, async_visible, unshaded;
+render_mode unshaded;
-uniform vec4 albedo : hint_color;
+uniform vec4 albedo : source_color;
uniform float value;
uniform float fade;
uniform float radius;
@@ -112,54 +112,58 @@ uniform float width;
-void vertex() {
-// Output:0
-
-}
-
void fragment() {
-// ColorUniform:2
- vec3 n_out2p0 = albedo.rgb;
- float n_out2p1 = albedo.a;
+// ColorParameter:2
+ vec4 n_out2p0 = albedo;
+
// Input:3
- vec3 n_out3p0 = vec3(UV, 0.0);
+ vec2 n_out3p0 = UV;
+
// VectorOp:4
vec3 n_in4p1 = vec3(2.00000, 2.00000, 0.00000);
- vec3 n_out4p0 = n_out3p0 * n_in4p1;
+ vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1;
+
// VectorOp:5
vec3 n_in5p1 = vec3(-1.00000, -1.00000, 0.00000);
vec3 n_out5p0 = n_out4p0 + n_in5p1;
+
// VectorFunc:17
vec3 n_out17p0 = normalize(n_out5p0);
+
// VectorOp:19
vec3 n_in19p1 = vec3(0.00000, -1.00000, 0.00000);
vec3 n_out19p0 = cross(n_out17p0, n_in19p1);
+
// VectorDecompose:20
float n_out20p0 = n_out19p0.x;
float n_out20p1 = n_out19p0.y;
float n_out20p2 = n_out19p0.z;
+
// DotProduct:18
vec3 n_in18p1 = vec3(0.00000, -1.00000, 0.00000);
float n_out18p0 = dot(n_out17p0, n_in18p1);
-// ScalarFunc:24
+
+// FloatFunc:24
float n_out24p0 = acos(n_out18p0);
-// ScalarOp:23
+
+// FloatOp:23
float n_in23p0 = 6.28319;
float n_out23p0 = n_in23p0 - n_out24p0;
+
+ vec3 n_out22p0;
// If:22
float n_in22p1 = 0.00000;
float n_in22p2 = 0.00001;
- vec3 n_out22p0;
if(abs(n_out20p2 - n_in22p1) < n_in22p2)
{
n_out22p0 = vec3(n_out24p0);
@@ -173,124 +177,137 @@ void fragment() {
n_out22p0 = vec3(n_out23p0);
}
-// ScalarOp:25
+
+// FloatOp:25
float n_in25p1 = 6.28319;
- float n_out25p0 = dot(n_out22p0, vec3(0.333333, 0.333333, 0.333333)) / n_in25p1;
+ float n_out25p0 = n_out22p0.x / n_in25p1;
+
-// ScalarUniform:26
+// FloatParameter:26
float n_out26p0 = value;
-// ScalarOp:27
+
+// FloatOp:27
float n_out27p0 = n_out25p0 - n_out26p0;
-// ScalarUniform:14
+
+// FloatParameter:14
float n_out14p0 = fade;
-// ScalarOp:30
+
+// FloatOp:30
float n_in30p1 = 6.28319;
float n_out30p0 = n_out14p0 / n_in30p1;
-// ScalarOp:28
+
+// FloatOp:28
float n_out28p0 = n_out27p0 / n_out30p0;
+
// VectorLen:6
float n_out6p0 = length(n_out5p0);
-// ScalarUniform:8
+
+// FloatParameter:8
float n_out8p0 = radius;
-// ScalarOp:7
+
+// FloatOp:7
float n_out7p0 = n_out6p0 - n_out8p0;
-// ScalarFunc:9
+
+// FloatFunc:9
float n_out9p0 = abs(n_out7p0);
-// ScalarUniform:11
+
+// FloatParameter:11
float n_out11p0 = width;
-// ScalarOp:15
+
+// FloatOp:15
float n_in15p1 = 2.00000;
float n_out15p0 = n_out11p0 / n_in15p1;
-// ScalarOp:13
+
+// FloatOp:13
float n_out13p0 = n_out9p0 - n_out15p0;
-// ScalarOp:10
+
+// FloatOp:10
float n_out10p0 = n_out13p0 / n_out14p0;
-// ScalarOp:29
+
+// FloatOp:29
float n_out29p0 = max(n_out28p0, n_out10p0);
-// ScalarOp:12
+
+// FloatOp:12
float n_in12p0 = 1.00000;
float n_out12p0 = n_in12p0 - n_out29p0;
+
// Output:0
- ALBEDO = n_out2p0;
+ ALBEDO = vec3(n_out2p0.xyz);
ALPHA = n_out12p0;
-}
-
-void light() {
-// Output:0
}
"
-graph_offset = Vector2( -115.723, -301.286 )
+graph_offset = Vector2(652.664, 119.317)
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 1800, -40 )
-nodes/fragment/2/node = SubResource( 3 )
-nodes/fragment/2/position = Vector2( 1480, -200 )
-nodes/fragment/3/node = SubResource( 4 )
-nodes/fragment/3/position = Vector2( -220, 200 )
-nodes/fragment/4/node = SubResource( 5 )
-nodes/fragment/4/position = Vector2( -20, 200 )
-nodes/fragment/5/node = SubResource( 6 )
-nodes/fragment/5/position = Vector2( 180, 200 )
-nodes/fragment/6/node = SubResource( 7 )
-nodes/fragment/6/position = Vector2( 380, 200 )
-nodes/fragment/7/node = SubResource( 8 )
-nodes/fragment/7/position = Vector2( 580, 200 )
-nodes/fragment/8/node = SubResource( 9 )
-nodes/fragment/8/position = Vector2( 260, 440 )
-nodes/fragment/9/node = SubResource( 10 )
-nodes/fragment/9/position = Vector2( 780, 200 )
-nodes/fragment/10/node = SubResource( 1 )
-nodes/fragment/10/position = Vector2( 1200, 200 )
-nodes/fragment/11/node = SubResource( 2 )
-nodes/fragment/11/position = Vector2( 260, 600 )
-nodes/fragment/12/node = SubResource( 11 )
-nodes/fragment/12/position = Vector2( 1600, 60 )
-nodes/fragment/13/node = SubResource( 12 )
-nodes/fragment/13/position = Vector2( 1000, 200 )
-nodes/fragment/14/node = SubResource( 13 )
-nodes/fragment/14/position = Vector2( 260, 780 )
-nodes/fragment/15/node = SubResource( 14 )
-nodes/fragment/15/position = Vector2( 560, 600 )
-nodes/fragment/17/node = SubResource( 15 )
-nodes/fragment/17/position = Vector2( -380, -100 )
-nodes/fragment/18/node = SubResource( 16 )
-nodes/fragment/18/position = Vector2( -120, -40 )
-nodes/fragment/19/node = SubResource( 17 )
-nodes/fragment/19/position = Vector2( -120, -180 )
-nodes/fragment/20/node = SubResource( 18 )
-nodes/fragment/20/position = Vector2( 60, -180 )
-nodes/fragment/22/node = SubResource( 19 )
-nodes/fragment/22/position = Vector2( 620, -100 )
-nodes/fragment/23/node = SubResource( 20 )
-nodes/fragment/23/position = Vector2( 360, 40 )
-nodes/fragment/24/node = SubResource( 21 )
-nodes/fragment/24/position = Vector2( 60, -40 )
-nodes/fragment/25/node = SubResource( 22 )
-nodes/fragment/25/position = Vector2( 800, -100 )
-nodes/fragment/26/node = SubResource( 23 )
-nodes/fragment/26/position = Vector2( 660, -360 )
-nodes/fragment/27/node = SubResource( 24 )
-nodes/fragment/27/position = Vector2( 1000, -100 )
-nodes/fragment/28/node = SubResource( 25 )
-nodes/fragment/28/position = Vector2( 1200, -100 )
-nodes/fragment/29/node = SubResource( 26 )
-nodes/fragment/29/position = Vector2( 1400, 60 )
-nodes/fragment/30/node = SubResource( 27 )
-nodes/fragment/30/position = Vector2( 1000, -240 )
-nodes/fragment/connections = PoolIntArray( 2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1, 2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1 )
+nodes/fragment/0/position = Vector2(1800, -40)
+nodes/fragment/2/node = SubResource("3")
+nodes/fragment/2/position = Vector2(1480, -200)
+nodes/fragment/3/node = SubResource("4")
+nodes/fragment/3/position = Vector2(-220, 200)
+nodes/fragment/4/node = SubResource("5")
+nodes/fragment/4/position = Vector2(-20, 200)
+nodes/fragment/5/node = SubResource("6")
+nodes/fragment/5/position = Vector2(180, 200)
+nodes/fragment/6/node = SubResource("7")
+nodes/fragment/6/position = Vector2(380, 200)
+nodes/fragment/7/node = SubResource("8")
+nodes/fragment/7/position = Vector2(580, 200)
+nodes/fragment/8/node = SubResource("9")
+nodes/fragment/8/position = Vector2(260, 440)
+nodes/fragment/9/node = SubResource("10")
+nodes/fragment/9/position = Vector2(780, 200)
+nodes/fragment/10/node = SubResource("1")
+nodes/fragment/10/position = Vector2(1200, 200)
+nodes/fragment/11/node = SubResource("2")
+nodes/fragment/11/position = Vector2(260, 600)
+nodes/fragment/12/node = SubResource("11")
+nodes/fragment/12/position = Vector2(1600, 60)
+nodes/fragment/13/node = SubResource("12")
+nodes/fragment/13/position = Vector2(1000, 200)
+nodes/fragment/14/node = SubResource("13")
+nodes/fragment/14/position = Vector2(260, 780)
+nodes/fragment/15/node = SubResource("14")
+nodes/fragment/15/position = Vector2(560, 600)
+nodes/fragment/17/node = SubResource("15")
+nodes/fragment/17/position = Vector2(-380, -100)
+nodes/fragment/18/node = SubResource("16")
+nodes/fragment/18/position = Vector2(-120, -40)
+nodes/fragment/19/node = SubResource("17")
+nodes/fragment/19/position = Vector2(-120, -180)
+nodes/fragment/20/node = SubResource("18")
+nodes/fragment/20/position = Vector2(60, -180)
+nodes/fragment/22/node = SubResource("19")
+nodes/fragment/22/position = Vector2(620, -100)
+nodes/fragment/23/node = SubResource("20")
+nodes/fragment/23/position = Vector2(360, 40)
+nodes/fragment/24/node = SubResource("21")
+nodes/fragment/24/position = Vector2(60, -40)
+nodes/fragment/25/node = SubResource("22")
+nodes/fragment/25/position = Vector2(800, -100)
+nodes/fragment/26/node = SubResource("23")
+nodes/fragment/26/position = Vector2(660, -360)
+nodes/fragment/27/node = SubResource("24")
+nodes/fragment/27/position = Vector2(1000, -100)
+nodes/fragment/28/node = SubResource("25")
+nodes/fragment/28/position = Vector2(1200, -100)
+nodes/fragment/29/node = SubResource("26")
+nodes/fragment/29/position = Vector2(1400, 60)
+nodes/fragment/30/node = SubResource("27")
+nodes/fragment/30/position = Vector2(1000, -240)
+nodes/fragment/connections = PackedInt32Array(2, 0, 0, 0, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 7, 0, 8, 0, 7, 1, 7, 0, 9, 0, 12, 0, 0, 1, 9, 0, 13, 0, 13, 0, 10, 0, 14, 0, 10, 1, 11, 0, 15, 0, 15, 0, 13, 1, 5, 0, 17, 0, 17, 0, 18, 0, 17, 0, 19, 0, 19, 0, 20, 0, 18, 0, 24, 0, 24, 0, 23, 1, 22, 0, 25, 0, 20, 2, 22, 0, 24, 0, 22, 3, 23, 0, 22, 4, 24, 0, 22, 5, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 28, 0, 28, 0, 29, 0, 10, 0, 29, 1, 29, 0, 12, 1, 14, 0, 30, 0, 30, 0, 28, 1)
diff --git a/addons/godot-xr-tools/misc/move_to.gd b/addons/godot-xr-tools/misc/move_to.gd
index bf44dbc5..2b907028 100644
--- a/addons/godot-xr-tools/misc/move_to.gd
+++ b/addons/godot-xr-tools/misc/move_to.gd
@@ -13,16 +13,16 @@ signal move_complete
# Spatial to control
-var _control: Spatial
+var _control: Node3D
# Spatial representing the target
-var _target: Spatial
+var _target: Node3D
# Starting transform
-var _start: Transform
+var _start: Transform3D
# Target offset
-var _offset: Transform
+var _offset: Transform3D
# Move duration
var _duration: float
@@ -31,9 +31,9 @@ var _duration: float
var _time: float = 0.0
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsMoveTo" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsMoveTo"
## Initialize the XRToolsMoveTo
@@ -69,7 +69,7 @@ func _process(delta: float) -> void:
## Start the move
-func start(control: Spatial, target: Spatial, offset: Transform, speed: float) -> void:
+func start(control: Node3D, target: Node3D, offset: Transform3D, speed: float) -> void:
# Save the control and target
_control = control
_target = target
diff --git a/addons/godot-xr-tools/misc/velocity_averager.gd b/addons/godot-xr-tools/misc/velocity_averager.gd
index 26bbe334..624bde33 100644
--- a/addons/godot-xr-tools/misc/velocity_averager.gd
+++ b/addons/godot-xr-tools/misc/velocity_averager.gd
@@ -25,7 +25,7 @@ var _linear_distances := Array()
var _angular_distances := Array()
# Last transform
-var _last_transform := Transform()
+var _last_transform := Transform3D()
# Has last transform flag
var _has_last_transform := false
@@ -59,7 +59,7 @@ func add_distance(delta: float, linear_distance: Vector3, angular_distance: Vect
_angular_distances.pop_front()
## Add a transform to the averager
-func add_transform(delta: float, transform: Transform):
+func add_transform(delta: float, transform: Transform3D):
# Handle saving the first transform
if !_has_last_transform:
_last_transform = transform
diff --git a/addons/godot-xr-tools/misc/velocity_averager_linear.gd b/addons/godot-xr-tools/misc/velocity_averager_linear.gd
index f8feacd8..f69bf7f4 100644
--- a/addons/godot-xr-tools/misc/velocity_averager_linear.gd
+++ b/addons/godot-xr-tools/misc/velocity_averager_linear.gd
@@ -23,7 +23,7 @@ var _time_deltas := Array()
var _linear_distances := Array()
# Last transform
-var _last_transform := Transform()
+var _last_transform := Transform3D()
# Has last transform flag
var _has_last_transform := false
@@ -55,7 +55,7 @@ func add_velocity(delta: float, linear_velocity: Vector3):
add_distance(delta, linear_velocity * delta)
## Add a transform to the averager
-func add_transform(delta: float, transform: Transform):
+func add_transform(delta: float, transform: Transform3D):
# Handle saving the first transform
if !_has_last_transform:
_last_transform = transform
diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.gd b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd
index f13fe4b1..d7c96096 100644
--- a/addons/godot-xr-tools/misc/vr_common_shader_cache.gd
+++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.gd
@@ -1,4 +1,4 @@
-extends Spatial
+extends Node3D
signal cooldown_finished
diff --git a/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn
index 74336d56..8c9ab26e 100644
--- a/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn
+++ b/addons/godot-xr-tools/misc/vr_common_shader_cache.tscn
@@ -1,39 +1,39 @@
-[gd_scene load_steps=8 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/materials/teleport.tres" type="Material" id=2]
-[ext_resource path="res://addons/godot-xr-tools/materials/target.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/materials/capsule.tres" type="Material" id=4]
-[ext_resource path="res://addons/godot-xr-tools/materials/pointer.tres" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/materials/highlight.tres" type="Material" id=6]
-
-[sub_resource type="PlaneMesh" id=1]
-size = Vector2( 0.001, 0.001 )
-
-[node name="VRCommonShaderCache" type="Spatial"]
-script = ExtResource( 1 )
-
-[node name="teleport" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
-
-[node name="target" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 3 )
-
-[node name="capsule" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 4 )
-
-[node name="pointer" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 5 )
-
-[node name="highlight" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 6 )
+[gd_scene load_steps=8 format=3]
+
+[ext_resource type="Script" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.gd" id="1"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/teleport.tres" id="2_6822k"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/target.tres" id="3_agvdv"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/capsule.tres" id="4_gxjsg"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/materials/pointer.tres" id="5_12251"]
+[ext_resource type="Material" uid="uid://dyuaw57o8y3i" path="res://addons/godot-xr-tools/materials/highlight.tres" id="6_ld6la"]
+
+[sub_resource type="PlaneMesh" id="1"]
+size = Vector2(0.001, 0.001)
+
+[node name="VRCommonShaderCache" type="Node3D"]
+script = ExtResource("1")
+
+[node name="teleport" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2_6822k")
+
+[node name="target" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("3_agvdv")
+
+[node name="capsule" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("4_gxjsg")
+
+[node name="pointer" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("5_12251")
+
+[node name="highlight" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("6_ld6la")
diff --git a/addons/godot-xr-tools/misc/xr_helpers.gd b/addons/godot-xr-tools/misc/xr_helpers.gd
new file mode 100644
index 00000000..603f7c34
--- /dev/null
+++ b/addons/godot-xr-tools/misc/xr_helpers.gd
@@ -0,0 +1,137 @@
+@tool
+class_name XRHelpers
+
+
+## XR Tools Helper Rountines
+##
+## This script contains static functions to help find XR player nodes.
+##
+## As these functions are static, the caller must pass in a node located
+## somewhere under the players [XROrigin3D].
+
+
+## Find the [XROrigin3D] node.
+##
+## This function searches for the [XROrigin3D] from the provided node.
+## The caller may provide an optional path (relative to the node) to the
+## [XROrigin3D] to support out-of-tree searches.
+##
+## The search is performed assuming the node is under the [XROrigin3D].
+static func get_xr_origin(node: Node, path: NodePath = NodePath()) -> XROrigin3D:
+ var origin: XROrigin3D
+
+ # Try using the node path first
+ if path:
+ origin = node.get_node(path) as XROrigin3D
+ if origin:
+ return origin
+
+ # Walk up the tree from the provided node looking for the origin
+ origin = XRTools.find_xr_ancestor(node, "*", "XROrigin3D")
+ if origin:
+ return origin
+
+ # We check our children but only one level
+ origin = XRTools.find_xr_child(node, "*", "XROrigin3D", false)
+ if origin:
+ return origin
+
+ # Could not find origin
+ return null
+
+## Find the [XRCamera3D] node.
+##
+## This function searches for the [XRCamera3D] from the provided node.
+## The caller may provide an optional path (relative to the node) to the
+## [XRCamera3D] to support out-of-tree searches.
+##
+## The search is performed assuming the node is under the [XROrigin3D].
+static func get_xr_camera(node: Node, path: NodePath = NodePath()) -> XRCamera3D:
+ var camera: XRCamera3D
+
+ # Try using the node path first
+ if path:
+ camera = node.get_node(path) as XRCamera3D
+ if camera:
+ return camera
+
+ # Get the origin
+ var origin := get_xr_origin(node)
+ if !origin:
+ return null
+
+ # Attempt to get by the default name
+ camera = origin.get_node_or_null("Camera") as XRCamera3D
+ if camera:
+ return camera
+
+ # Search all children of the origin for the camera
+ camera = XRTools.find_xr_child(origin, "*", "XRCamera3D", false)
+ if camera:
+ return camera
+
+ # Could not find camera
+ return null
+
+## Find the [XRController3D] node.
+##
+## This function searches for the [XRController3D] from the provided node.
+## The caller may provide an optional path (relative to the node) to the
+## [XRController3D] to support out-of-tree searches.
+##
+## The search is performed assuming the node is under the [XRController3D].
+static func get_xr_controller(node: Node, path: NodePath = NodePath()) -> XRController3D:
+ var controller: XRController3D
+
+ # Try using the node path first
+ if path:
+ controller = node.get_node(path) as XRController3D
+ if controller:
+ return controller
+
+ # Search up from the node for the controller
+ return XRTools.find_xr_ancestor(node, "*", "XRController3D") as XRController3D
+
+## Find the Left Hand [XRController3D] from a player node and an optional path
+static func get_left_controller(node: Node, path: NodePath = NodePath()) -> XRController3D:
+ return _get_controller(node, "LeftHandController", "left_hand", path)
+
+
+## Find the Right Hand [XRController3D] from a player node and an optional path
+static func get_right_controller(node: Node, path: NodePath = NodePath()) -> XRController3D:
+ return _get_controller(node, "RightHandController", "right_hand", path)
+
+
+## Find an [XRController3D] given some search parameters
+static func _get_controller(
+ node: Node,
+ default_name: String,
+ tracker: String,
+ path: NodePath) -> XRController3D:
+ var controller: XRController3D
+
+ # Try using the node path first
+ if path:
+ controller = node.get_node(path) as XRController3D
+ if controller:
+ return controller
+
+ # Get the origin
+ var origin := get_xr_origin(node)
+ if !origin:
+ return null
+
+ # Attempt to get by the default name
+ controller = origin.get_node_or_null(default_name) as XRController3D
+ if controller:
+ return controller
+
+ # Search all children of the origin for the controller
+ for child in origin.get_children():
+ controller = child as XRController3D
+ if controller and controller.tracker == tracker:
+ return controller
+
+ # Could not find the controller
+ return null
+
diff --git a/addons/godot-xr-tools/objects/climbable.gd b/addons/godot-xr-tools/objects/climbable.gd
index 6255aa71..e680d63f 100644
--- a/addons/godot-xr-tools/objects/climbable.gd
+++ b/addons/godot-xr-tools/objects/climbable.gd
@@ -1,5 +1,7 @@
-class_name XRToolsClimbable, "res://addons/godot-xr-tools/editor/icons/hand.svg"
-extends Spatial
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsClimbable
+extends Node3D
## XR Tools Climbable Object
@@ -17,16 +19,16 @@ var press_to_hold : bool = true
var grab_locations := {}
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsClimbable" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsClimbable"
# Called by XRToolsFunctionPickup
func is_picked_up() -> bool:
return false
-func can_pick_up(_by: Spatial) -> bool:
+func can_pick_up(_by: Node3D) -> bool:
return true
# Called by XRToolsFunctionPickup when user presses the action button while holding this object
@@ -42,7 +44,7 @@ func decrease_is_closest():
pass
# Called by XRToolsFunctionPickup when this is picked up by a controller
-func pick_up(by: Spatial, _with_controller: ARVRController) -> void:
+func pick_up(by: Node3D, _with_controller: XRController3D) -> void:
save_grab_location(by)
# Called by XRToolsFunctionPickup when this is let go by a controller
@@ -50,9 +52,9 @@ func let_go(_p_linear_velocity: Vector3, _p_angular_velocity: Vector3) -> void:
pass
# Save the grab location
-func save_grab_location(p: Spatial):
+func save_grab_location(p: Node3D):
grab_locations[p.get_instance_id()] = to_local(p.global_transform.origin)
# Get the grab location in world-space
-func get_grab_location(p: Spatial) -> Vector3:
+func get_grab_location(p: Node3D) -> Vector3:
return to_global(grab_locations[p.get_instance_id()])
diff --git a/addons/godot-xr-tools/objects/climbable.tscn b/addons/godot-xr-tools/objects/climbable.tscn
index 010acd42..6cb25991 100644
--- a/addons/godot-xr-tools/objects/climbable.tscn
+++ b/addons/godot-xr-tools/objects/climbable.tscn
@@ -1,10 +1,10 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://cjyilbm4ucc7s"]
-[ext_resource path="res://addons/godot-xr-tools/objects/climbable.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/climbable.gd" id="1"]
-[node name="Climbable" type="StaticBody"]
+[node name="Climbable" type="StaticBody3D"]
collision_layer = 262145
collision_mask = 0
-script = ExtResource( 1 )
+script = ExtResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="."]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point.gd b/addons/godot-xr-tools/objects/grab_points/grab_point.gd
index c83a58de..51a5d03c 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point.gd
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point.gd
@@ -1,5 +1,5 @@
class_name XRToolsGrabPoint
-extends Position3D
+extends Marker3D
## XR Tools Grab Point Base Script
@@ -10,7 +10,7 @@ extends Position3D
## If true, the grab point is enabled for grabbing
-export var enabled : bool = true
+@export var enabled : bool = true
## Test if a grabber can grab by this grab-point
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd
index a833f674..65f435d5 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsGrabPointHand
extends XRToolsGrabPoint
@@ -31,14 +31,13 @@ const RIGHT_HAND_PATH := "res://addons/godot-xr-tools/hands/scenes/lowpoly/right
## Which hand this grab point is for
-export (Hand) var hand : int setget _set_hand
+@export var hand : Hand: set = _set_hand
## Hand pose
-export var hand_pose : Resource setget _set_hand_pose
+@export var hand_pose : XRToolsHandPoseSettings: set = _set_hand_pose
## If true, the hand is shown in the editor
-export (PreviewMode) \
- var editor_preview_mode : int = PreviewMode.CLOSED setget _set_editor_preview_mode
+@export var editor_preview_mode : PreviewMode = PreviewMode.CLOSED: set = _set_editor_preview_mode
## Hand to use for editor preview
@@ -48,7 +47,7 @@ var _editor_preview_hand : XRToolsHand
## Called when the node enters the scene tree for the first time.
func _ready():
# If in the editor then update the preview
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
_update_editor_preview()
@@ -64,32 +63,32 @@ func can_grab(_grabber : Node) -> bool:
return false
# Only allow left controller to grab left-hand grab points
- if hand == Hand.LEFT and controller.controller_id != 1:
+ if hand == Hand.LEFT and controller.tracker != "left_hand":
return false
# Only allow right controller to grab right-hand grab points
- if hand == Hand.RIGHT and controller.controller_id != 2:
+ if hand == Hand.RIGHT and controller.tracker != "right_hand":
return false
# Allow grab
return true
-func _set_hand(new_value : int) -> void:
+func _set_hand(new_value : Hand) -> void:
hand = new_value
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
_update_editor_preview()
-func _set_hand_pose(new_value : Resource) -> void:
+func _set_hand_pose(new_value : XRToolsHandPoseSettings) -> void:
hand_pose = new_value
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
_update_editor_preview()
-func _set_editor_preview_mode(new_value : int) -> void:
+func _set_editor_preview_mode(new_value : PreviewMode) -> void:
editor_preview_mode = new_value
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
_update_editor_preview()
@@ -107,7 +106,7 @@ func _update_editor_preview() -> void:
return
# Construct the model
- _editor_preview_hand = hand_scene.instance()
+ _editor_preview_hand = hand_scene.instantiate()
# Set the pose
if hand_pose:
@@ -124,7 +123,7 @@ func _update_editor_preview() -> void:
# Get the controller associated with a grabber
-static func _get_grabber_controller(_grabber : Node) -> ARVRController:
+static func _get_grabber_controller(_grabber : Node) -> XRController3D:
# Ensure the grabber is valid
if not is_instance_valid(_grabber):
return null
@@ -136,3 +135,4 @@ static func _get_grabber_controller(_grabber : Node) -> ARVRController:
# Get the controller associated with the pickup
return pickup.get_controller()
+
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn
index 2f6d8155..875f686a 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn
@@ -1,7 +1,7 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://c25yxb0vt53vc"]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"]
-[node name="GrabPointHandLeft" type="Position3D"]
+[node name="GrabPointHandLeft" type="Marker3D"]
visible = false
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn
index 8d6e4766..08957a5b 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn
@@ -1,8 +1,8 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://ctw7nbntd5pcj"]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd" id="1"]
-[node name="GrabPointHandRight" type="Position3D"]
+[node name="GrabPointHandRight" type="Marker3D"]
visible = false
-script = ExtResource( 1 )
+script = ExtResource("1")
hand = 1
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd
index 2bd62163..46a6925e 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsGrabPointSnap
extends XRToolsGrabPoint
@@ -10,17 +10,17 @@ extends XRToolsGrabPoint
## Require grab-by to be in the specified group
-export var require_group : String = ""
+@export var require_group : String = ""
## Deny grab-by if in the specified group
-export var exclude_group : String = ""
+@export var exclude_group : String = ""
# Called when the node enters the scene tree for the first time.
func _ready():
# Add a Position3D child to help editor visibility
- if Engine.editor_hint:
- add_child(Position3D.new())
+ if Engine.is_editor_hint():
+ add_child(Marker3D.new())
## Test if a grabber can grab by this grab-point
@@ -38,11 +38,11 @@ func can_grab(_grabber : Node) -> bool:
return false
# Refuse if the grabber is not in the required group
- if not require_group.empty() and not _grabber.is_in_group(require_group):
+ if not require_group.is_empty() and not _grabber.is_in_group(require_group):
return false
# Refuse if the grabber is in the excluded group
- if not exclude_group.empty() and _grabber.is_in_group(exclude_group):
+ if not exclude_group.is_empty() and _grabber.is_in_group(exclude_group):
return false
# Allow the grab
diff --git a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn
index 93883f24..0ce99795 100644
--- a/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn
+++ b/addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn
@@ -1,7 +1,7 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://dh8grd7s3n8kg"]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd" id="1"]
-[node name="GrabPointSnap" type="Position3D"]
+[node name="GrabPointSnap" type="Marker3D"]
visible = false
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/objects/hand_pose_area.gd b/addons/godot-xr-tools/objects/hand_pose_area.gd
index 1f69f040..9d39e722 100644
--- a/addons/godot-xr-tools/objects/hand_pose_area.gd
+++ b/addons/godot-xr-tools/objects/hand_pose_area.gd
@@ -1,6 +1,7 @@
-tool
-class_name XRToolsHandPoseArea, "res://addons/godot-xr-tools/editor/icons/hand.svg"
-extends Area
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsHandPoseArea
+extends Area3D
## XR Tools Hand Pose Area
@@ -10,15 +11,15 @@ extends Area
## Priority level for this hand pose area
-export var pose_priority : int
+@export var pose_priority : int
## Left hand pose settings (XRToolsHandPoseSettings)
-export var left_pose : Resource
+@export var left_pose : XRToolsHandPoseSettings
## Right hand pose settings (XRToolsHandPoseSettings)
-export var right_pose : Resource
+@export var right_pose : XRToolsHandPoseSettings
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHandPoseArea" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHandPoseArea"
diff --git a/addons/godot-xr-tools/objects/hand_pose_area.tscn b/addons/godot-xr-tools/objects/hand_pose_area.tscn
index c6d7ae5b..e72ed0d1 100644
--- a/addons/godot-xr-tools/objects/hand_pose_area.tscn
+++ b/addons/godot-xr-tools/objects/hand_pose_area.tscn
@@ -1,9 +1,9 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://dc5t2qgmhb2nf"]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/hand_pose_area.gd" id="1"]
-[node name="HandPoseArea" type="Area"]
+[node name="HandPoseArea" type="Area3D"]
collision_layer = 2097152
collision_mask = 0
monitoring = false
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/objects/highlight/highlight_material.gd b/addons/godot-xr-tools/objects/highlight/highlight_material.gd
index bf28d2a2..d5b8eb29 100644
--- a/addons/godot-xr-tools/objects/highlight/highlight_material.gd
+++ b/addons/godot-xr-tools/objects/highlight/highlight_material.gd
@@ -1,22 +1,22 @@
-tool
+@tool
class_name XRToolsHighlightMaterial
extends Node
## Mesh to highlight
-export(NodePath) var highlight_mesh_instance
+@export var highlight_mesh_instance : NodePath
## Material to set
-export(Resource) var highlight_material
+@export var highlight_material : Resource
var _original_materials = Array()
-var _highlight_mesh_instance: MeshInstance
+var _highlight_mesh_instance: MeshInstance3D
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHighlightMaterial" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHighlightMaterial"
# Called when the node enters the scene tree for the first time.
@@ -27,30 +27,31 @@ func _ready():
# Save the materials
if _highlight_mesh_instance:
# if we can find a node remember which materials are currently set on each surface
- for i in range(0, _highlight_mesh_instance.get_surface_material_count()):
- _original_materials.push_back(_highlight_mesh_instance.get_surface_material(i))
+ for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()):
+ _original_materials.push_back(_highlight_mesh_instance.get_surface_override_material(i))
# Hook the highlight update
- get_parent().connect("highlight_updated", self, "_on_highlight_updated")
+ get_parent().connect("highlight_updated", _on_highlight_updated)
# Called when the pickable highlight changes
func _on_highlight_updated(_pickable, enable: bool) -> void:
# Set the materials
if _highlight_mesh_instance:
- for i in range(0, _highlight_mesh_instance.get_surface_material_count()):
+ for i in range(0, _highlight_mesh_instance.get_surface_override_material_count()):
if enable:
- _highlight_mesh_instance.set_surface_material(i, highlight_material)
+ _highlight_mesh_instance.set_surface_override_material(i, highlight_material)
else:
- _highlight_mesh_instance.set_surface_material(i, _original_materials[i])
+ _highlight_mesh_instance.set_surface_override_material(i, _original_materials[i])
# This method verifies the node
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify parent supports highlighting
var parent := get_parent()
if not parent or not parent.has_signal("highlight_updated"):
- return "Parent does not support highlighting"
+ warnings.append("Parent does not support highlighting")
- # No issues
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.gd b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd
index 1525d91c..cabd79c5 100644
--- a/addons/godot-xr-tools/objects/highlight/highlight_ring.gd
+++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.gd
@@ -1,21 +1,21 @@
-tool
+@tool
class_name XRToolsHighlightRing
-extends MeshInstance
+extends MeshInstance3D
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHighlightRing" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHighlightRing"
# Called when the node enters the scene tree for the first time.
func _ready():
# Turn off until requested
- if not Engine.editor_hint:
+ if not Engine.is_editor_hint():
visible = false
# Hook the highlight update
- get_parent().connect("highlight_updated", self, "_on_highlight_updated")
+ get_parent().connect("highlight_updated", _on_highlight_updated)
# Called when the pickable highlight changes
@@ -24,11 +24,12 @@ func _on_highlight_updated(_pickable, enable: bool) -> void:
# This method verifies the node
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify parent supports highlighting
var parent := get_parent()
if not parent or not parent.has_signal("highlight_updated"):
- return "Parent does not support highlighting"
+ warnings.append("Parent does not support highlighting")
- # No issues
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tres b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres
index ebe21dac..ce16b222 100644
--- a/addons/godot-xr-tools/objects/highlight/highlight_ring.tres
+++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://addons/godot-xr-tools/images/ring.png" type="Texture" id=1]
+[ext_resource path="res://addons/godot-xr-tools/images/ring.png" type="Texture2D" id=1]
[resource]
flags_transparent = true
diff --git a/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn
index a0e8aae2..5f5b9e3f 100644
--- a/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn
+++ b/addons/godot-xr-tools/objects/highlight/highlight_ring.tscn
@@ -1,12 +1,12 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://da2qgxxwwitl6"]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tres" type="Material" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd" id="1"]
+[ext_resource type="Material" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tres" id="2"]
-[sub_resource type="QuadMesh" id=1]
-size = Vector2( 0.05, 0.05 )
+[sub_resource type="QuadMesh" id="1"]
+size = Vector2(0.05, 0.05)
-[node name="HighlightRing" type="MeshInstance"]
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
-script = ExtResource( 1 )
+[node name="HighlightRing" type="MeshInstance3D"]
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2")
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/objects/highlight/highlight_visible.gd b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd
index 684d73ac..b3f27558 100644
--- a/addons/godot-xr-tools/objects/highlight/highlight_visible.gd
+++ b/addons/godot-xr-tools/objects/highlight/highlight_visible.gd
@@ -1,21 +1,21 @@
-tool
+@tool
class_name XRToolsHighlightVisible
-extends Spatial
+extends Node3D
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsHighlightVisible" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsHighlightVisible"
# Called when the node enters the scene tree for the first time.
func _ready():
# Turn off until requested
- if not Engine.editor_hint:
+ if not Engine.is_editor_hint():
visible = false
# Hook the highlight update
- get_parent().connect("highlight_updated", self, "_on_highlight_updated")
+ get_parent().connect("highlight_updated", _on_highlight_updated)
# Called when the pickable highlight changes
@@ -24,11 +24,12 @@ func _on_highlight_updated(_pickable, enable: bool) -> void:
# This method verifies the node
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify parent supports highlighting
var parent := get_parent()
if not parent or not parent.has_signal("highlight_updated"):
- return "Parent does not support highlighting"
+ warnings.append("Parent does not support highlighting")
- # No issues
- return ""
+ return warnings
diff --git a/addons/godot-xr-tools/objects/interactable_area.gd b/addons/godot-xr-tools/objects/interactable_area.gd
index 879acbc9..f31c171f 100644
--- a/addons/godot-xr-tools/objects/interactable_area.gd
+++ b/addons/godot-xr-tools/objects/interactable_area.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsInteractableArea
-extends Area
+extends Area3D
signal pointer_pressed(at)
@@ -10,6 +10,6 @@ signal pointer_entered()
signal pointer_exited()
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsInteractableArea" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsInteractableArea"
diff --git a/addons/godot-xr-tools/objects/interactable_body.gd b/addons/godot-xr-tools/objects/interactable_body.gd
index a6bdee82..21e211d6 100644
--- a/addons/godot-xr-tools/objects/interactable_body.gd
+++ b/addons/godot-xr-tools/objects/interactable_body.gd
@@ -1,5 +1,6 @@
class_name XRToolsInteractableBody
-extends PhysicsBody
+extends Node3D
+# This should extend from PhysicsBody3D but https://github.com/godotengine/godot/issues/46073
signal pointer_pressed(at)
diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key.gd b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd
index e5e51f87..70793ddc 100644
--- a/addons/godot-xr-tools/objects/keyboard/virtual_key.gd
+++ b/addons/godot-xr-tools/objects/keyboard/virtual_key.gd
@@ -2,20 +2,20 @@ extends Button
## Godot scan-code text
-export var scan_code_text := ""
+@export var scan_code_text := ""
## Unicode character
-export var unicode := 0
+@export var unicode := 0
## Shift modifier
-export var shift_modifier := false
+@export var shift_modifier := false
func _ready():
# Find the VirtualKeyboard parent
var keyboard = _get_virtual_keyboard()
if keyboard:
- connect("button_down", keyboard, "on_key_pressed", [scan_code_text, unicode, shift_modifier])
+ button_down.connect(keyboard.on_key_pressed.bind(scan_code_text, unicode, shift_modifier))
# Get our virtual keyboard parent
func _get_virtual_keyboard() -> XRToolsVirtualKeyboard2D:
diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn b/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn
index 6a9497bc..b182fcbc 100644
--- a/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn
+++ b/addons/godot-xr-tools/objects/keyboard/virtual_key.tscn
@@ -3,8 +3,8 @@
[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.gd" type="Script" id=1]
[node name="VirtualKey" type="Button"]
-margin_right = 30.0
-margin_bottom = 25.0
+offset_right = 30.0
+offset_bottom = 25.0
+focus_mode = 0
focus_mode = 0
-enabled_focus_mode = 0
script = ExtResource( 1 )
diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd
index ceca39cc..b8af1803 100644
--- a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd
+++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsVirtualKeyboard2D
extends CanvasLayer
@@ -24,23 +24,23 @@ var _alt_down := false
var _mode: int = KeyboardMode.LOWER_CASE
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsVirtualKeyboard2D" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsVirtualKeyboard2D"
# Handle key pressed from VirtualKey
func on_key_pressed(scan_code_text: String, unicode: int, shift: bool):
# Find the scan code
- var scan_code := OS.find_scancode_from_string(scan_code_text)
+ var scan_code := OS.find_keycode_from_string(scan_code_text)
# Create the InputEventKey
var input := InputEventKey.new()
- input.physical_scancode = scan_code
+ input.physical_keycode = scan_code
input.unicode = unicode if unicode else scan_code
input.pressed = true
- input.scancode = scan_code
- input.shift = shift
+ input.keycode = scan_code
+ input.shift_pressed = shift
# Dispatch the input event
Input.parse_input_event(input)
diff --git a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn
index 7716249e..53f85748 100644
--- a/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn
+++ b/addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn
@@ -1,602 +1,618 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://lauwp8okd1vh"]
-[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.tscn" type="PackedScene" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd" id="1"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/objects/keyboard/virtual_key.tscn" id="2"]
[node name="VirtualKeyboard2D" type="CanvasLayer"]
-script = ExtResource( 1 )
+script = ExtResource("1")
[node name="Background" type="ColorRect" parent="."]
-margin_right = 390.0
-margin_bottom = 145.0
-color = Color( 0.12549, 0.12549, 0.12549, 0.752941 )
+offset_right = 390.0
+offset_bottom = 145.0
+color = Color(0.12549, 0.12549, 0.12549, 0.752941)
[node name="Standard" type="Control" parent="Background"]
-margin_right = 390.0
-margin_bottom = 145.0
+layout_mode = 1
+anchors_preset = 0
+offset_right = 390.0
+offset_bottom = 145.0
-[node name="VirtualKey1" parent="Background/Standard" instance=ExtResource( 2 )]
+[node name="VirtualKey1" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
text = "1"
scan_code_text = "1"
unicode = 49
-[node name="VirtualKey2" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 40.0
-margin_right = 70.0
+[node name="VirtualKey2" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 40.0
+offset_right = 70.0
text = "2"
scan_code_text = "2"
unicode = 50
-[node name="VirtualKey3" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 80.0
-margin_right = 110.0
+[node name="VirtualKey3" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 80.0
+offset_right = 110.0
text = "3"
scan_code_text = "3"
unicode = 51
-[node name="VirtualKey4" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 120.0
-margin_right = 150.0
+[node name="VirtualKey4" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 120.0
+offset_right = 150.0
text = "4"
scan_code_text = "4"
unicode = 52
-[node name="VirtualKey5" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 160.0
-margin_right = 190.0
+[node name="VirtualKey5" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 160.0
+offset_right = 190.0
text = "5"
scan_code_text = "5"
unicode = 53
-[node name="VirtualKey6" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 200.0
-margin_right = 230.0
+[node name="VirtualKey6" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 200.0
+offset_right = 230.0
text = "6"
scan_code_text = "6"
unicode = 54
-[node name="VirtualKey7" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 240.0
-margin_right = 270.0
+[node name="VirtualKey7" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 240.0
+offset_right = 270.0
text = "7"
scan_code_text = "7"
unicode = 55
-[node name="VirtualKey8" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 280.0
-margin_right = 310.0
+[node name="VirtualKey8" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 280.0
+offset_right = 310.0
text = "8"
scan_code_text = "8"
unicode = 56
-[node name="VirtualKey9" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 320.0
-margin_right = 350.0
+[node name="VirtualKey9" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 320.0
+offset_right = 350.0
text = "9"
scan_code_text = "9"
unicode = 57
-[node name="VirtualKey0" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 360.0
-margin_right = 390.0
+[node name="VirtualKey0" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 360.0
+offset_right = 390.0
text = "0"
scan_code_text = "0"
unicode = 48
[node name="ToggleShift" type="Button" parent="Background/Standard"]
-margin_top = 90.0
-margin_right = 50.0
-margin_bottom = 115.0
+layout_mode = 0
+offset_top = 90.0
+offset_right = 50.0
+offset_bottom = 115.0
focus_mode = 0
toggle_mode = true
-enabled_focus_mode = 0
text = "SHIFT"
[node name="ToggleCaps" type="Button" parent="Background/Standard"]
-margin_top = 120.0
-margin_right = 45.0
-margin_bottom = 145.0
+layout_mode = 0
+offset_top = 120.0
+offset_right = 45.0
+offset_bottom = 145.0
focus_mode = 0
toggle_mode = true
-enabled_focus_mode = 0
text = "CAPS"
[node name="ToggleAlt" type="Button" parent="Background/Standard"]
-margin_left = 55.0
-margin_top = 120.0
-margin_right = 90.0
-margin_bottom = 145.0
+layout_mode = 0
+offset_left = 55.0
+offset_top = 120.0
+offset_right = 90.0
+offset_bottom = 145.0
focus_mode = 0
toggle_mode = true
-enabled_focus_mode = 0
text = "ALT"
-[node name="VirtualKeyBackspace" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 340.0
-margin_top = 90.0
-margin_right = 390.0
-margin_bottom = 115.0
+[node name="VirtualKeyBackspace" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 340.0
+offset_top = 90.0
+offset_right = 390.0
+offset_bottom = 115.0
text = "BKSP"
scan_code_text = "BackSpace"
-[node name="VirtualKeySpace" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 120.0
-margin_right = 290.0
-margin_bottom = 145.0
+[node name="VirtualKeySpace" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 100.0
+offset_top = 120.0
+offset_right = 290.0
+offset_bottom = 145.0
text = "Space"
scan_code_text = "Space"
unicode = 32
-[node name="VirtualKeyPeriod" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 120.0
-margin_right = 330.0
-margin_bottom = 145.0
+[node name="VirtualKeyPeriod" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 300.0
+offset_top = 120.0
+offset_right = 330.0
+offset_bottom = 145.0
text = "."
scan_code_text = "Period"
unicode = 46
-[node name="VirtualKeyEnter" parent="Background/Standard" instance=ExtResource( 2 )]
-margin_left = 340.0
-margin_top = 120.0
-margin_right = 390.0
-margin_bottom = 145.0
+[node name="VirtualKeyEnter" parent="Background/Standard" instance=ExtResource("2")]
+layout_mode = 0
+offset_left = 340.0
+offset_top = 120.0
+offset_right = 390.0
+offset_bottom = 145.0
text = "Enter"
scan_code_text = "Enter"
[node name="LowerCase" type="Node2D" parent="Background"]
-position = Vector2( 0, 30 )
+position = Vector2(0, 30)
-[node name="VirtualKeyLowerQ" parent="Background/LowerCase" instance=ExtResource( 2 )]
+[node name="VirtualKeyLowerQ" parent="Background/LowerCase" instance=ExtResource("2")]
text = "q"
scan_code_text = "Q"
unicode = 113
-[node name="VirtualKeyLowerW" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 40.0
-margin_right = 70.0
+[node name="VirtualKeyLowerW" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 40.0
+offset_right = 70.0
text = "w"
scan_code_text = "W"
unicode = 119
-[node name="VirtualKeyLowerE" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 80.0
-margin_right = 110.0
+[node name="VirtualKeyLowerE" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 80.0
+offset_right = 110.0
text = "e"
scan_code_text = "E"
unicode = 101
-[node name="VirtualKeyLowerR" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 120.0
-margin_right = 150.0
+[node name="VirtualKeyLowerR" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 120.0
+offset_right = 150.0
text = "r"
scan_code_text = "R"
unicode = 114
-[node name="VirtualKeyLowerT" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 160.0
-margin_right = 190.0
+[node name="VirtualKeyLowerT" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 160.0
+offset_right = 190.0
text = "t"
scan_code_text = "T"
unicode = 116
-[node name="VirtualKeyLowerY" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 200.0
-margin_right = 230.0
+[node name="VirtualKeyLowerY" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 200.0
+offset_right = 230.0
text = "y"
scan_code_text = "Y"
unicode = 121
-[node name="VirtualKeyLowerU" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 240.0
-margin_right = 270.0
+[node name="VirtualKeyLowerU" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 240.0
+offset_right = 270.0
text = "u"
scan_code_text = "U"
unicode = 117
-[node name="VirtualKeyLowerI" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 280.0
-margin_right = 310.0
+[node name="VirtualKeyLowerI" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 280.0
+offset_right = 310.0
text = "i"
scan_code_text = "I"
unicode = 105
-[node name="VirtualKeyLowerO" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 320.0
-margin_right = 350.0
+[node name="VirtualKeyLowerO" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 320.0
+offset_right = 350.0
text = "o"
scan_code_text = "O"
unicode = 111
-[node name="VirtualKeyLowerP" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 360.0
-margin_right = 390.0
+[node name="VirtualKeyLowerP" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 360.0
+offset_right = 390.0
text = "p"
scan_code_text = "P"
unicode = 112
-[node name="VirtualKeyLowerA" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 20.0
-margin_top = 30.0
-margin_right = 50.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerA" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 20.0
+offset_top = 30.0
+offset_right = 50.0
+offset_bottom = 55.0
text = "a"
scan_code_text = "A"
unicode = 97
-[node name="VirtualKeyLowerS" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 30.0
-margin_right = 90.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerS" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 30.0
+offset_right = 90.0
+offset_bottom = 55.0
text = "s"
scan_code_text = "S"
unicode = 115
-[node name="VirtualKeyLowerD" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 30.0
-margin_right = 130.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerD" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 30.0
+offset_right = 130.0
+offset_bottom = 55.0
text = "d"
scan_code_text = "D"
unicode = 100
-[node name="VirtualKeyLowerF" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 30.0
-margin_right = 170.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerF" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 30.0
+offset_right = 170.0
+offset_bottom = 55.0
text = "f"
scan_code_text = "F"
unicode = 102
-[node name="VirtualKeyLowerG" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 30.0
-margin_right = 210.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerG" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 30.0
+offset_right = 210.0
+offset_bottom = 55.0
text = "g"
scan_code_text = "G"
unicode = 103
-[node name="VirtualKeyLowerH" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 30.0
-margin_right = 250.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerH" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 30.0
+offset_right = 250.0
+offset_bottom = 55.0
text = "h"
scan_code_text = "H"
unicode = 104
-[node name="VirtualKeyLowerJ" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 30.0
-margin_right = 290.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerJ" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 30.0
+offset_right = 290.0
+offset_bottom = 55.0
text = "j"
scan_code_text = "J"
unicode = 106
-[node name="VirtualKeyLowerK" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 30.0
-margin_right = 330.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerK" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 30.0
+offset_right = 330.0
+offset_bottom = 55.0
text = "k"
scan_code_text = "K"
unicode = 107
-[node name="VirtualKeyLowerL" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 340.0
-margin_top = 30.0
-margin_right = 370.0
-margin_bottom = 55.0
+[node name="VirtualKeyLowerL" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 340.0
+offset_top = 30.0
+offset_right = 370.0
+offset_bottom = 55.0
text = "l"
scan_code_text = "L"
unicode = 108
-[node name="VirtualKeyLowerZ" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 60.0
-margin_right = 90.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerZ" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 60.0
+offset_right = 90.0
+offset_bottom = 85.0
text = "z"
scan_code_text = "Z"
unicode = 122
-[node name="VirtualKeyLowerX" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 60.0
-margin_right = 130.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerX" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 60.0
+offset_right = 130.0
+offset_bottom = 85.0
text = "x"
scan_code_text = "X"
unicode = 120
-[node name="VirtualKeyLowerC" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 60.0
-margin_right = 170.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerC" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 60.0
+offset_right = 170.0
+offset_bottom = 85.0
text = "c"
scan_code_text = "C"
unicode = 99
-[node name="VirtualKeyLowerV" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 60.0
-margin_right = 210.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerV" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 60.0
+offset_right = 210.0
+offset_bottom = 85.0
text = "v"
scan_code_text = "V"
unicode = 118
-[node name="VirtualKeyLowerB" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 60.0
-margin_right = 250.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerB" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 60.0
+offset_right = 250.0
+offset_bottom = 85.0
text = "b"
scan_code_text = "B"
unicode = 98
-[node name="VirtualKeyLowerN" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 60.0
-margin_right = 290.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerN" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 60.0
+offset_right = 290.0
+offset_bottom = 85.0
text = "n"
scan_code_text = "N"
unicode = 110
-[node name="VirtualKeyLowerM" parent="Background/LowerCase" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 60.0
-margin_right = 330.0
-margin_bottom = 85.0
+[node name="VirtualKeyLowerM" parent="Background/LowerCase" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 60.0
+offset_right = 330.0
+offset_bottom = 85.0
text = "m"
scan_code_text = "M"
unicode = 109
[node name="UpperCase" type="Node2D" parent="Background"]
visible = false
-position = Vector2( 0, 30 )
+position = Vector2(0, 30)
-[node name="VirtualKeyUpperQ" parent="Background/UpperCase" instance=ExtResource( 2 )]
+[node name="VirtualKeyUpperQ" parent="Background/UpperCase" instance=ExtResource("2")]
text = "Q"
scan_code_text = "Q"
unicode = 81
shift_modifier = true
-[node name="VirtualKeyUpperW" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 40.0
-margin_right = 70.0
+[node name="VirtualKeyUpperW" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 40.0
+offset_right = 70.0
text = "W"
scan_code_text = "W"
unicode = 87
shift_modifier = true
-[node name="VirtualKeyUpperE" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 80.0
-margin_right = 110.0
+[node name="VirtualKeyUpperE" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 80.0
+offset_right = 110.0
text = "E"
scan_code_text = "E"
unicode = 69
shift_modifier = true
-[node name="VirtualKeyUpperR" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 120.0
-margin_right = 150.0
+[node name="VirtualKeyUpperR" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 120.0
+offset_right = 150.0
text = "R"
scan_code_text = "R"
unicode = 82
shift_modifier = true
-[node name="VirtualKeyUpperT" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 160.0
-margin_right = 190.0
+[node name="VirtualKeyUpperT" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 160.0
+offset_right = 190.0
text = "T"
scan_code_text = "T"
unicode = 84
shift_modifier = true
-[node name="VirtualKeyUpperY" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 200.0
-margin_right = 230.0
+[node name="VirtualKeyUpperY" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 200.0
+offset_right = 230.0
text = "Y"
scan_code_text = "Y"
unicode = 89
shift_modifier = true
-[node name="VirtualKeyUpperU" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 240.0
-margin_right = 270.0
+[node name="VirtualKeyUpperU" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 240.0
+offset_right = 270.0
text = "U"
scan_code_text = "U"
unicode = 85
shift_modifier = true
-[node name="VirtualKeyUpperI" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 280.0
-margin_right = 310.0
+[node name="VirtualKeyUpperI" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 280.0
+offset_right = 310.0
text = "I"
scan_code_text = "I"
unicode = 73
shift_modifier = true
-[node name="VirtualKeyUpperO" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 320.0
-margin_right = 350.0
+[node name="VirtualKeyUpperO" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 320.0
+offset_right = 350.0
text = "O"
scan_code_text = "O"
unicode = 79
shift_modifier = true
-[node name="VirtualKeyUpperP" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 360.0
-margin_right = 390.0
+[node name="VirtualKeyUpperP" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 360.0
+offset_right = 390.0
text = "P"
scan_code_text = "P"
unicode = 80
shift_modifier = true
-[node name="VirtualKeyUpperA" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 20.0
-margin_top = 30.0
-margin_right = 50.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperA" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 20.0
+offset_top = 30.0
+offset_right = 50.0
+offset_bottom = 55.0
text = "A"
scan_code_text = "A"
unicode = 65
shift_modifier = true
-[node name="VirtualKeyUpperS" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 30.0
-margin_right = 90.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperS" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 30.0
+offset_right = 90.0
+offset_bottom = 55.0
text = "S"
scan_code_text = "S"
unicode = 83
shift_modifier = true
-[node name="VirtualKeyUpperD" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 30.0
-margin_right = 130.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperD" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 30.0
+offset_right = 130.0
+offset_bottom = 55.0
text = "D"
scan_code_text = "D"
unicode = 68
shift_modifier = true
-[node name="VirtualKeyUpperF" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 30.0
-margin_right = 170.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperF" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 30.0
+offset_right = 170.0
+offset_bottom = 55.0
text = "F"
scan_code_text = "F"
unicode = 70
shift_modifier = true
-[node name="VirtualKeyUpperG" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 30.0
-margin_right = 210.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperG" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 30.0
+offset_right = 210.0
+offset_bottom = 55.0
text = "G"
scan_code_text = "G"
unicode = 71
shift_modifier = true
-[node name="VirtualKeyUpperH" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 30.0
-margin_right = 250.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperH" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 30.0
+offset_right = 250.0
+offset_bottom = 55.0
text = "H"
scan_code_text = "H"
unicode = 72
shift_modifier = true
-[node name="VirtualKeyUpperJ" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 30.0
-margin_right = 290.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperJ" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 30.0
+offset_right = 290.0
+offset_bottom = 55.0
text = "J"
scan_code_text = "J"
unicode = 74
shift_modifier = true
-[node name="VirtualKeyUpperK" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 30.0
-margin_right = 330.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperK" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 30.0
+offset_right = 330.0
+offset_bottom = 55.0
text = "K"
scan_code_text = "K"
unicode = 75
shift_modifier = true
-[node name="VirtualKeyUpperL" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 340.0
-margin_top = 30.0
-margin_right = 370.0
-margin_bottom = 55.0
+[node name="VirtualKeyUpperL" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 340.0
+offset_top = 30.0
+offset_right = 370.0
+offset_bottom = 55.0
text = "L"
scan_code_text = "L"
unicode = 76
shift_modifier = true
-[node name="VirtualKeyUpperZ" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 60.0
-margin_right = 90.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperZ" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 60.0
+offset_right = 90.0
+offset_bottom = 85.0
text = "Z"
scan_code_text = "Z"
unicode = 90
shift_modifier = true
-[node name="VirtualKeyUpperX" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 60.0
-margin_right = 130.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperX" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 60.0
+offset_right = 130.0
+offset_bottom = 85.0
text = "X"
scan_code_text = "X"
unicode = 88
shift_modifier = true
-[node name="VirtualKeyUpperC" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 60.0
-margin_right = 170.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperC" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 60.0
+offset_right = 170.0
+offset_bottom = 85.0
text = "C"
scan_code_text = "C"
unicode = 67
shift_modifier = true
-[node name="VirtualKeyUpperV" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 60.0
-margin_right = 210.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperV" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 60.0
+offset_right = 210.0
+offset_bottom = 85.0
text = "V"
scan_code_text = "V"
unicode = 86
shift_modifier = true
-[node name="VirtualKeyUpperB" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 60.0
-margin_right = 250.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperB" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 60.0
+offset_right = 250.0
+offset_bottom = 85.0
text = "B"
scan_code_text = "B"
unicode = 66
shift_modifier = true
-[node name="VirtualKeyUpperN" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 60.0
-margin_right = 290.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperN" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 60.0
+offset_right = 290.0
+offset_bottom = 85.0
text = "N"
scan_code_text = "N"
unicode = 78
shift_modifier = true
-[node name="VirtualKeyUpperM" parent="Background/UpperCase" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 60.0
-margin_right = 330.0
-margin_bottom = 85.0
+[node name="VirtualKeyUpperM" parent="Background/UpperCase" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 60.0
+offset_right = 330.0
+offset_bottom = 85.0
text = "M"
scan_code_text = "M"
unicode = 77
@@ -604,218 +620,218 @@ shift_modifier = true
[node name="Alternate" type="Node2D" parent="Background"]
visible = false
-position = Vector2( 0, 30 )
+position = Vector2(0, 30)
-[node name="VirtualKeyPlus" parent="Background/Alternate" instance=ExtResource( 2 )]
+[node name="VirtualKeyPlus" parent="Background/Alternate" instance=ExtResource("2")]
text = "+"
scan_code_text = "Plus"
unicode = 43
-[node name="VirtualKeyAsterisk" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 40.0
-margin_right = 70.0
+[node name="VirtualKeyAsterisk" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 40.0
+offset_right = 70.0
text = "*"
scan_code_text = "Asterisk"
unicode = 42
-[node name="VirtualKeyDivision" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 80.0
-margin_right = 110.0
+[node name="VirtualKeyDivision" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 80.0
+offset_right = 110.0
text = "÷"
scan_code_text = "Division"
unicode = 247
-[node name="VirtualKeyEqual" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 120.0
-margin_right = 150.0
+[node name="VirtualKeyEqual" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 120.0
+offset_right = 150.0
text = "="
scan_code_text = "Equal"
unicode = 61
-[node name="VirtualKeySlash" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 160.0
-margin_right = 190.0
+[node name="VirtualKeySlash" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 160.0
+offset_right = 190.0
text = "/"
scan_code_text = "Slash"
unicode = 47
-[node name="VirtualKeyUnderScore" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 200.0
-margin_right = 230.0
+[node name="VirtualKeyUnderScore" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 200.0
+offset_right = 230.0
text = "_"
scan_code_text = "UnderScore"
unicode = 95
-[node name="VirtualKeyLess" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 240.0
-margin_right = 270.0
+[node name="VirtualKeyLess" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 240.0
+offset_right = 270.0
text = "<"
scan_code_text = "Less"
unicode = 60
shift_modifier = true
-[node name="VirtualKeyGreater" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 280.0
-margin_right = 310.0
+[node name="VirtualKeyGreater" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 280.0
+offset_right = 310.0
text = ">"
scan_code_text = "Greater"
unicode = 62
-[node name="VirtualKeyBracketLeft" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 320.0
-margin_right = 350.0
+[node name="VirtualKeyBracketLeft" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 320.0
+offset_right = 350.0
text = "["
scan_code_text = "BracketLeft"
unicode = 91
shift_modifier = true
-[node name="VirtualKeyBracketRight" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 360.0
-margin_right = 390.0
+[node name="VirtualKeyBracketRight" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 360.0
+offset_right = 390.0
text = "]"
scan_code_text = "BracketRight"
unicode = 93
-[node name="VirtualKeyExclam" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 20.0
-margin_top = 30.0
-margin_right = 50.0
-margin_bottom = 55.0
+[node name="VirtualKeyExclam" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 20.0
+offset_top = 30.0
+offset_right = 50.0
+offset_bottom = 55.0
text = "!"
scan_code_text = "Exclam"
unicode = 33
-[node name="VirtualKeyAt" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 30.0
-margin_right = 90.0
-margin_bottom = 55.0
+[node name="VirtualKeyAt" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 30.0
+offset_right = 90.0
+offset_bottom = 55.0
text = "@"
scan_code_text = "At"
unicode = 64
-[node name="VirtualKeyNumberSign" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 30.0
-margin_right = 130.0
-margin_bottom = 55.0
+[node name="VirtualKeyNumberSign" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 30.0
+offset_right = 130.0
+offset_bottom = 55.0
text = "#"
scan_code_text = "NumberSign"
unicode = 35
-[node name="VirtualKeyDollar" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 30.0
-margin_right = 170.0
-margin_bottom = 55.0
+[node name="VirtualKeyDollar" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 30.0
+offset_right = 170.0
+offset_bottom = 55.0
text = "$"
scan_code_text = "Dollar"
unicode = 36
-[node name="VirtualKeyPercent" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 30.0
-margin_right = 210.0
-margin_bottom = 55.0
+[node name="VirtualKeyPercent" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 30.0
+offset_right = 210.0
+offset_bottom = 55.0
text = "%"
scan_code_text = "Percent"
unicode = 37
-[node name="VirtualKeyCircumflex" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 30.0
-margin_right = 250.0
-margin_bottom = 55.0
+[node name="VirtualKeyCircumflex" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 30.0
+offset_right = 250.0
+offset_bottom = 55.0
text = "^"
scan_code_text = "AsciiCircum"
unicode = 94
-[node name="VirtualKeyAmpersand" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 30.0
-margin_right = 290.0
-margin_bottom = 55.0
+[node name="VirtualKeyAmpersand" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 30.0
+offset_right = 290.0
+offset_bottom = 55.0
text = "&"
scan_code_text = "Ampersand"
unicode = 38
-[node name="VirtualKeyParenLeft" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 30.0
-margin_right = 330.0
-margin_bottom = 55.0
+[node name="VirtualKeyParenLeft" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 30.0
+offset_right = 330.0
+offset_bottom = 55.0
text = "("
scan_code_text = "ParenLeft"
unicode = 40
-[node name="VirtualKeyParenRight" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 340.0
-margin_top = 30.0
-margin_right = 370.0
-margin_bottom = 55.0
+[node name="VirtualKeyParenRight" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 340.0
+offset_top = 30.0
+offset_right = 370.0
+offset_bottom = 55.0
text = ")"
scan_code_text = "ParenRight"
unicode = 41
-[node name="VirtualKeyMinus" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 60.0
-margin_top = 60.0
-margin_right = 90.0
-margin_bottom = 85.0
+[node name="VirtualKeyMinus" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 60.0
+offset_top = 60.0
+offset_right = 90.0
+offset_bottom = 85.0
text = "-"
scan_code_text = "Minus"
unicode = 45
-[node name="VirtualKeyApostrophe" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 100.0
-margin_top = 60.0
-margin_right = 130.0
-margin_bottom = 85.0
+[node name="VirtualKeyApostrophe" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 100.0
+offset_top = 60.0
+offset_right = 130.0
+offset_bottom = 85.0
text = "'"
scan_code_text = "Apostrophe"
unicode = 39
-[node name="VirtualKeyQuoteDbl" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 140.0
-margin_top = 60.0
-margin_right = 170.0
-margin_bottom = 85.0
+[node name="VirtualKeyQuoteDbl" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 140.0
+offset_top = 60.0
+offset_right = 170.0
+offset_bottom = 85.0
text = "\""
scan_code_text = "QuoteDbl"
unicode = 34
-[node name="VirtualKeyColon" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 180.0
-margin_top = 60.0
-margin_right = 210.0
-margin_bottom = 85.0
+[node name="VirtualKeyColon" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 180.0
+offset_top = 60.0
+offset_right = 210.0
+offset_bottom = 85.0
text = ":"
scan_code_text = "Colon"
unicode = 58
-[node name="VirtualKeySemicolon" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 220.0
-margin_top = 60.0
-margin_right = 250.0
-margin_bottom = 85.0
+[node name="VirtualKeySemicolon" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 220.0
+offset_top = 60.0
+offset_right = 250.0
+offset_bottom = 85.0
text = ";"
scan_code_text = "Semicolon"
unicode = 59
-[node name="VirtualKeyComma" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 260.0
-margin_top = 60.0
-margin_right = 290.0
-margin_bottom = 85.0
+[node name="VirtualKeyComma" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 260.0
+offset_top = 60.0
+offset_right = 290.0
+offset_bottom = 85.0
text = ","
scan_code_text = "Comma"
unicode = 44
-[node name="VirtualKeyQuestion" parent="Background/Alternate" instance=ExtResource( 2 )]
-margin_left = 300.0
-margin_top = 60.0
-margin_right = 330.0
-margin_bottom = 85.0
+[node name="VirtualKeyQuestion" parent="Background/Alternate" instance=ExtResource("2")]
+offset_left = 300.0
+offset_top = 60.0
+offset_right = 330.0
+offset_bottom = 85.0
text = "?"
scan_code_text = "Question"
unicode = 63
diff --git a/addons/godot-xr-tools/objects/pickable.gd b/addons/godot-xr-tools/objects/pickable.gd
index 846f1468..fe5f9ba8 100644
--- a/addons/godot-xr-tools/objects/pickable.gd
+++ b/addons/godot-xr-tools/objects/pickable.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsPickable
-extends RigidBody
+extends RigidBody3D
## XR Tools Pickable Object
@@ -50,8 +50,8 @@ enum PickableState {
enum ReleaseMode {
ORIGINAL = -1, ## Preserve original mode when picked up
- RIGID = 0, ## Release and make rigid (MODE_RIGID)
- STATIC = 1, ## Release and make static (MODE_STATIC)
+ UNFROZEN = 0, ## Release and unfreeze
+ FROZEN = 1, ## Release and freeze
}
@@ -63,44 +63,44 @@ const GRIP_POSE_PRIORITY = 100
## If true, the pickable supports being picked up
-export var enabled : bool = true
+@export var enabled : bool = true
## If true, the grip control must be held to keep the object picked up
-export var press_to_hold : bool = true
+@export var press_to_hold : bool = true
## Layer for this object while picked up
-export (int, LAYERS_3D_PHYSICS) var picked_up_layer = DEFAULT_LAYER
+@export_flags_3d_physics var picked_up_layer = DEFAULT_LAYER
## Method used to hold an object
-export (HoldMethod) var hold_method = HoldMethod.REMOTE_TRANSFORM
+@export var hold_method : HoldMethod = HoldMethod.REMOTE_TRANSFORM
## Release mode to use when releasing the object
-export (ReleaseMode) var release_mode : int = ReleaseMode.ORIGINAL
+@export var release_mode : ReleaseMode = ReleaseMode.ORIGINAL
## Method used to perform a ranged grab
-export (RangedMethod) var ranged_grab_method = RangedMethod.SNAP setget _set_ranged_grab_method
+@export var ranged_grab_method : RangedMethod = RangedMethod.SNAP: set = _set_ranged_grab_method
## Speed for ranged grab
-export var ranged_grab_speed : float = 20.0
+@export var ranged_grab_speed : float = 20.0
## Refuse pick-by when in the specified group
-export var picked_by_exclude : String = ""
+@export var picked_by_exclude : String = ""
## Require pick-by to be in the specified group
-export var picked_by_require : String = ""
+@export var picked_by_require : String = ""
## If true, the object can be picked up at range
var can_ranged_grab: bool = true
-## Original RigidBody mode
-var original_mode
+## Frozen state to restore to when dropped
+var restore_freeze : bool = false
## Entity holding this item
-var picked_up_by: Spatial = null
+var picked_up_by: Node3D = null
## Controller holding this item (may be null if held by snap-zone)
-var by_controller : ARVRController = null
+var by_controller : XRController3D = null
## Hand holding this item (may be null if held by snap-zone)
var by_hand : XRToolsHand = null
@@ -112,7 +112,7 @@ var _closest_count: int = 0
var _state = PickableState.IDLE
# Remote transform
-var _remote_transform: RemoteTransform = null
+var _remote_transform: RemoteTransform3D = null
# Move-to node for performing remote grab
var _move_to: XRToolsMoveTo = null
@@ -125,14 +125,14 @@ var _active_grab_point : XRToolsGrabPoint
# Remember some state so we can return to it when the user drops the object
-onready var original_parent = get_parent()
-onready var original_collision_mask : int = collision_mask
-onready var original_collision_layer : int = collision_layer
+@onready var original_parent = get_parent()
+@onready var original_collision_mask : int = collision_mask
+@onready var original_collision_layer : int = collision_layer
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsPickable" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsPickable"
# Called when the node enters the scene tree for the first time.
@@ -145,7 +145,7 @@ func _ready():
# Test if this object can be picked up
-func can_pick_up(_by: Spatial) -> bool:
+func can_pick_up(_by: Node3D) -> bool:
return enabled and _state == PickableState.IDLE
@@ -190,7 +190,7 @@ func drop_and_free():
# Called when this object is picked up
-func pick_up(by: Spatial, with_controller: ARVRController) -> void:
+func pick_up(by: Node3D, with_controller: XRController3D) -> void:
# Skip if disabled or already picked up
if not enabled or _state != PickableState.IDLE:
return
@@ -212,10 +212,18 @@ func pick_up(by: Spatial, with_controller: ARVRController) -> void:
by_hand.add_pose_override(self, GRIP_POSE_PRIORITY, grab_point_hand.hand_pose)
# Remember the mode before pickup
- original_mode = mode if release_mode == ReleaseMode.ORIGINAL else release_mode
+ match release_mode:
+ ReleaseMode.UNFROZEN:
+ restore_freeze = false
+
+ ReleaseMode.FROZEN:
+ restore_freeze = true
+
+ _:
+ restore_freeze = freeze
# turn off physics on our pickable object
- mode = RigidBody.MODE_STATIC
+ freeze = true
collision_layer = picked_up_layer
collision_mask = 0
@@ -251,7 +259,7 @@ func let_go(p_linear_velocity: Vector3, p_angular_velocity: Vector3) -> void:
_remote_transform = null
# Restore RigidBody mode
- mode = original_mode
+ freeze = restore_freeze
collision_mask = original_collision_mask
collision_layer = original_collision_layer
@@ -281,7 +289,7 @@ func let_go(p_linear_velocity: Vector3, p_angular_velocity: Vector3) -> void:
## Get the controller currently holding this object
-func get_picked_up_by_controller() -> ARVRController:
+func get_picked_up_by_controller() -> XRController3D:
return by_controller
@@ -328,18 +336,18 @@ func _start_ranged_grab() -> void:
_state = PickableState.GRABBING_RANGED
# Calculate the transform offset
- var offset : Transform
+ var offset : Transform3D
if _active_grab_point:
offset = _active_grab_point.transform.inverse()
else:
- offset = Transform.IDENTITY
+ offset = Transform3D.IDENTITY
# Create a XRToolsMoveTo to perform the remote-grab. The remote grab will move
# us to the pickup object at the ranged-grab speed, and also takes into account
# the center-pickup position
_move_to = XRToolsMoveTo.new()
_move_to.start(self, picked_up_by, offset, ranged_grab_speed)
- _move_to.connect("move_complete", self, "_ranged_grab_complete")
+ _move_to.move_complete.connect(_ranged_grab_complete)
self.add_child(_move_to)
@@ -360,14 +368,14 @@ func _do_snap_grab() -> void:
match hold_method:
HoldMethod.REMOTE_TRANSFORM:
# Calculate the snap transform for remote-transforming
- var snap_transform: Transform
+ var snap_transform: Transform3D
if _active_grab_point:
snap_transform = _active_grab_point.transform.inverse()
else:
- snap_transform = Transform.IDENTITY
+ snap_transform = Transform3D.IDENTITY
# Construct the remote transform
- _remote_transform = RemoteTransform.new()
+ _remote_transform = RemoteTransform3D.new()
_remote_transform.set_name("PickupRemoteTransform")
picked_up_by.add_child(_remote_transform)
_remote_transform.transform = snap_transform
@@ -375,11 +383,11 @@ func _do_snap_grab() -> void:
HoldMethod.REPARENT:
# Calculate the snap transform for reparenting
- var snap_transform: Transform
+ var snap_transform: Transform3D
if _active_grab_point:
snap_transform = _active_grab_point.global_transform.inverse() * global_transform
else:
- snap_transform = Transform.IDENTITY
+ snap_transform = Transform3D.IDENTITY
# Reparent to the holder with snap transform
original_parent.remove_child(self)
@@ -401,7 +409,7 @@ func _do_precise_grab() -> void:
var precise_transform = picked_up_by.global_transform.inverse() * global_transform
# Construct the remote transform
- _remote_transform = RemoteTransform.new()
+ _remote_transform = RemoteTransform3D.new()
_remote_transform.set_name("PickupRemoteTransform")
picked_up_by.add_child(_remote_transform)
_remote_transform.transform = picked_up_by.global_transform.inverse() * global_transform
diff --git a/addons/godot-xr-tools/objects/pickable.tscn b/addons/godot-xr-tools/objects/pickable.tscn
index 8bc4a9a2..6f34320a 100644
--- a/addons/godot-xr-tools/objects/pickable.tscn
+++ b/addons/godot-xr-tools/objects/pickable.tscn
@@ -1,10 +1,11 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://c8l60rnugru40"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/pickable.gd" id="1"]
-[node name="Pickable" type="RigidBody"]
+[node name="PickableObject" type="RigidBody3D"]
collision_layer = 4
collision_mask = 196615
-script = ExtResource( 1 )
+freeze_mode = 1
+script = ExtResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="."]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
diff --git a/addons/godot-xr-tools/objects/return_to_snap_zone.gd b/addons/godot-xr-tools/objects/return_to_snap_zone.gd
index a3bc1baf..b708d559 100644
--- a/addons/godot-xr-tools/objects/return_to_snap_zone.gd
+++ b/addons/godot-xr-tools/objects/return_to_snap_zone.gd
@@ -1,5 +1,6 @@
-tool
-class_name XRToolsReturnToSnapZone, "res://addons/godot-xr-tools/editor/icons/hand.svg"
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/hand.svg")
+class_name XRToolsReturnToSnapZone
extends Node
@@ -10,10 +11,10 @@ extends Node
## Snap zone path
-export var snap_zone_path : NodePath
+@export var snap_zone_path : NodePath
## Return delay
-export var return_delay : float = 1.0
+@export var return_delay : float = 1.0
# Pickable object to control
@@ -29,9 +30,9 @@ var _return_counter : float = 0.0
var _held := false
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsReturnToSnapZone" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsReturnToSnapZone"
# Called when the node enters the scene tree for the first time.
@@ -39,8 +40,8 @@ func _ready() -> void:
# Get the pickable (parent of this node)
_pickable = get_parent() as XRToolsPickable
if _pickable:
- _pickable.connect("picked_up", self, "_on_picked_up")
- _pickable.connect("dropped", self, "_on_dropped")
+ _pickable.picked_up.connect(_on_picked_up)
+ _pickable.dropped.connect(_on_dropped)
# Get the optional snap-zone
_snap_zone = get_node_or_null(snap_zone_path)
@@ -95,10 +96,12 @@ func _on_dropped(_pickable) -> void:
# This method verifies the pose area has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify this node is a child of a pickable
if not get_parent() is XRToolsPickable:
- return "Must be a child of a pickable"
+ warnings.append("Must be a child of a pickable")
- # Pass basic validation
- return ""
+ # Return warnings
+ return warnings
diff --git a/addons/godot-xr-tools/objects/snap_zone.gd b/addons/godot-xr-tools/objects/snap_zone.gd
index 05d48d10..d3493425 100644
--- a/addons/godot-xr-tools/objects/snap_zone.gd
+++ b/addons/godot-xr-tools/objects/snap_zone.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsSnapZone
-extends Area
+extends Area3D
## Signal emitted when the snap-zone picks something up
@@ -24,33 +24,33 @@ enum SnapMode {
## Enable or disable snap-zone
-export var enabled : bool = true
+@export var enabled : bool = true
## Grab distance
-export var grab_distance : float = 0.3 setget _set_grab_distance
+@export var grab_distance : float = 0.3: set = _set_grab_distance
## Snap mode
-export (SnapMode) var snap_mode : int = SnapMode.DROPPED setget _set_snap_mode
+@export var snap_mode : SnapMode = SnapMode.DROPPED: set = _set_snap_mode
## Require snap items to be in specified group
-export var snap_require : String = ""
+@export var snap_require : String = ""
## Deny snapping items in the specified group
-export var snap_exclude : String = ""
+@export var snap_exclude : String = ""
## Require grab-by to be in the specified group
-export var grab_require : String = ""
+@export var grab_require : String = ""
## Deny grab-by
-export var grab_exclude : String= ""
+@export var grab_exclude : String= ""
## Initial object in snap zone
-export var initial_object : NodePath
+@export var initial_object : NodePath
# Public fields
-var closest_object : Spatial = null
-var picked_up_object : Spatial = null
+var closest_object : Node3D = null
+var picked_up_object : Node3D = null
var picked_up_ranged : bool = true
@@ -58,14 +58,14 @@ var picked_up_ranged : bool = true
var _object_in_grab_area = Array()
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsSnapZone" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsSnapZone"
func _ready():
# Set collision shape radius
- $CollisionShape.shape.radius = grab_distance
+ $CollisionShape3D.shape.radius = grab_distance
# Perform updates
_update_snap_mode()
@@ -100,7 +100,7 @@ func _process(_delta):
# Pickable Method: snap-zone can be grabbed if holding object
-func can_pick_up(by: Spatial) -> bool:
+func can_pick_up(by: Node3D) -> bool:
# Refuse if not enabled
if not enabled:
return false
@@ -110,11 +110,11 @@ func can_pick_up(by: Spatial) -> bool:
return false
# Refuse if the grab-by is not in the required group
- if not grab_require.empty() and not by.is_in_group(grab_require):
+ if not grab_require.is_empty() and not by.is_in_group(grab_require):
return false
# Refuse if the grab-by is in the excluded group
- if not grab_exclude.empty() and by.is_in_group(grab_exclude):
+ if not grab_exclude.is_empty() and by.is_in_group(grab_exclude):
return false
# Grab is permitted
@@ -142,7 +142,7 @@ func decrease_is_closest():
# Pickable Method: Object being grabbed from this snap zone
-func pick_up(_by: Spatial, _with_controller: ARVRController) -> void:
+func pick_up(_by: Node3D, _with_controller: XRController3D) -> void:
pass
@@ -175,7 +175,7 @@ func _initial_object_check() -> void:
# Called when a body enters the snap zone
-func _on_snap_zone_body_entered(target: Spatial) -> void:
+func _on_snap_zone_body_entered(target: Node3D) -> void:
# Ignore objects already known about
if _object_in_grab_area.find(target) >= 0:
return
@@ -185,11 +185,11 @@ func _on_snap_zone_body_entered(target: Spatial) -> void:
return
# Reject objects not in the required snap group
- if not snap_require.empty() and not target.is_in_group(snap_require):
+ if not snap_require.is_empty() and not target.is_in_group(snap_require):
return
# Reject objects in the excluded snap group
- if not snap_exclude.empty() and target.is_in_group(snap_exclude):
+ if not snap_exclude.is_empty() and target.is_in_group(snap_exclude):
return
# Reject climbable objects
@@ -202,7 +202,7 @@ func _on_snap_zone_body_entered(target: Spatial) -> void:
# If this snap zone is configured to snap objects that are dropped, then
# start listening for the objects dropped signal
if snap_mode == SnapMode.DROPPED and target.has_signal("dropped"):
- target.connect("dropped", self, "_on_target_dropped", [], CONNECT_DEFERRED)
+ target.connect("dropped", _on_target_dropped, CONNECT_DEFERRED)
# Show highlight when something could be snapped
if not is_instance_valid(picked_up_object):
@@ -210,16 +210,16 @@ func _on_snap_zone_body_entered(target: Spatial) -> void:
# Called when a body leaves the snap zone
-func _on_snap_zone_body_exited(target: Spatial) -> void:
+func _on_snap_zone_body_exited(target: Node3D) -> void:
# Ensure the object is not in our list
_object_in_grab_area.erase(target)
# Stop listening for dropped signals
- if target.has_signal("dropped") and target.is_connected("dropped", self, "_on_target_dropped"):
- target.disconnect("dropped", self, "_on_target_dropped")
+ if target.has_signal("dropped") and target.is_connected("dropped", _on_target_dropped):
+ target.disconnect("dropped", _on_target_dropped)
# Hide highlight when nothing could be snapped
- if _object_in_grab_area.empty():
+ if _object_in_grab_area.is_empty():
emit_signal("close_highlight_updated", self, false)
@@ -229,7 +229,7 @@ func has_snapped_object() -> bool:
# Pick up the specified object
-func pick_up_object(target: Spatial) -> void:
+func pick_up_object(target: Node3D) -> void:
# check if already holding an object
if is_instance_valid(picked_up_object):
# skip if holding the target object
@@ -255,12 +255,12 @@ func pick_up_object(target: Spatial) -> void:
# Called when the grab distance has been modified
func _set_grab_distance(new_value: float) -> void:
grab_distance = new_value
- if is_inside_tree() and $CollisionShape:
- $CollisionShape.shape.radius = grab_distance
+ if is_inside_tree() and $CollisionShape3D:
+ $CollisionShape3D.shape.radius = grab_distance
# Called when the snap mode property has been modified
-func _set_snap_mode(new_value: int) -> void:
+func _set_snap_mode(new_value: SnapMode) -> void:
snap_mode = new_value
if is_inside_tree():
_update_snap_mode()
@@ -275,7 +275,7 @@ func _update_snap_mode() -> void:
# Start monitoring all objects in range for drop
for o in _object_in_grab_area:
- o.connect("dropped", self, "_on_target_dropped", [], CONNECT_DEFERRED)
+ o.connect("dropped", _on_target_dropped, CONNECT_DEFERRED)
SnapMode.RANGE:
# Enable _process to scan for RANGE pickups
@@ -283,11 +283,11 @@ func _update_snap_mode() -> void:
# Clear any dropped signal hooks
for o in _object_in_grab_area:
- o.disconnect("dropped", self, "_on_target_dropped")
+ o.disconnect("dropped", _on_target_dropped)
# Called when a target in our grab area is dropped
-func _on_target_dropped(target: Spatial) -> void:
+func _on_target_dropped(target: Node3D) -> void:
# Skip if not enabled
if not enabled:
return
diff --git a/addons/godot-xr-tools/objects/snap_zone.tscn b/addons/godot-xr-tools/objects/snap_zone.tscn
index 84ca94db..011548f0 100644
--- a/addons/godot-xr-tools/objects/snap_zone.tscn
+++ b/addons/godot-xr-tools/objects/snap_zone.tscn
@@ -1,16 +1,17 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://ce7vysyvondf8"]
-[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/snap_zone.gd" id="1"]
-[sub_resource type="SphereShape" id=1]
+[sub_resource type="SphereShape3D" id="1"]
+radius = 0.05
-[node name="SnapZone" type="Area"]
+[node name="SnapZone" type="Area3D"]
collision_layer = 4
collision_mask = 65540
-script = ExtResource( 1 )
+script = ExtResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("1")
[connection signal="body_entered" from="." to="." method="_on_snap_zone_body_entered"]
[connection signal="body_exited" from="." to="." method="_on_snap_zone_body_exited"]
diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd
index e4517255..f99ddfcc 100644
--- a/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd
+++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.gd
@@ -1,5 +1,5 @@
-tool
-extends Spatial
+@tool
+extends Node3D
## XR ToolsViewport 2D in 3D
@@ -33,45 +33,43 @@ const DEFAULT_LAYER := 0b0000_0000_0001_0000_0000_0000_0000_0001
## Viewport enabled property
-export var enabled : bool = true setget set_enabled
+@export var enabled : bool = true: set = set_enabled
## Screen size property
-export var screen_size : Vector2 = Vector2(3.0, 2.0) setget set_screen_size
+@export var screen_size : Vector2 = Vector2(3.0, 2.0): set = set_screen_size
## Viewport size property
-export var viewport_size : Vector2 = Vector2(300.0, 200.0) setget set_viewport_size
+@export var viewport_size : Vector2 = Vector2(300.0, 200.0): set = set_viewport_size
## Transparent property
-export (TransparancyMode) \
- var transparent : int = TransparancyMode.TRANSPARENT setget set_transparent
+@export var transparent : TransparancyMode = TransparancyMode.TRANSPARENT: set = set_transparent
## Alpha Scissor Threshold property
-export var alpha_scissor_threshold : float = 0.25 setget set_alpha_scissor_threshold
+@export var alpha_scissor_threshold : float = 0.25: set = set_alpha_scissor_threshold
## Unshaded
-export var unshaded : bool = false setget set_unshaded
+@export var unshaded : bool = false: set = set_unshaded
## Scene property
-export var scene : PackedScene setget set_scene
+@export var scene : PackedScene: set = set_scene
## Display properties
-export var filter : bool = true setget set_filter
+@export var filter : bool = true: set = set_filter
## Update Mode property
-export (UpdateMode) var update_mode = UpdateMode.UPDATE_ALWAYS setget set_update_mode
+@export var update_mode : UpdateMode = UpdateMode.UPDATE_ALWAYS: set = set_update_mode
## Update throttle property
-export var throttle_fps : float = 30.0
+@export var throttle_fps : float = 30.0
## Collision layer
-export (int, LAYERS_3D_PHYSICS) \
- var collision_layer : int = DEFAULT_LAYER setget set_collision_layer
+@export_flags_3d_physics var collision_layer : int = DEFAULT_LAYER: set = set_collision_layer
var is_ready : bool = false
var scene_node : Node
var viewport_texture : ViewportTexture
-var material : SpatialMaterial
+var material : StandardMaterial3D
var time_since_last_update : float = 0.0
@@ -80,10 +78,10 @@ func _ready():
is_ready = true
# Setup our viewport texture and material
- material = SpatialMaterial.new()
+ material = StandardMaterial3D.new()
material.flags_unshaded = true
- material.params_cull_mode = SpatialMaterial.CULL_DISABLED
- $Screen.set_surface_material(0, material)
+ material.params_cull_mode = StandardMaterial3D.CULL_DISABLED
+ $Screen.set_surface_override_material(0, material)
# apply properties
_update_enabled()
@@ -121,11 +119,11 @@ func _on_pointer_exited():
# Handler for input eventsd
func _input(event):
- $Viewport.input(event)
+ $Viewport.push_input(event)
# Process event
func _process(delta):
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
# Don't run in editor (will auto run on load)
set_process(false)
return
@@ -135,7 +133,7 @@ func _process(delta):
time_since_last_update += delta
if time_since_last_update > frame_time:
# Trigger update
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
time_since_last_update = 0.0
else:
# This is no longer needed
@@ -163,7 +161,7 @@ func set_viewport_size(new_size: Vector2) -> void:
# Set transparent property
-func set_transparent(new_transparent: int) -> void:
+func set_transparent(new_transparent: TransparancyMode) -> void:
transparent = new_transparent
if is_ready:
_update_transparent()
@@ -197,7 +195,7 @@ func set_filter(new_filter: bool) -> void:
_update_filter()
# Set update mode property
-func set_update_mode(new_update_mode: int) -> void:
+func set_update_mode(new_update_mode: UpdateMode) -> void:
update_mode = new_update_mode
if is_ready:
_update_update_mode()
@@ -212,17 +210,17 @@ func set_collision_layer(new_layer: int) -> void:
# Enabled update handler
func _update_enabled() -> void:
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
- $StaticBody/CollisionShape.disabled = !enabled
+ $StaticBody3D/CollisionShape3D.disabled = !enabled
# Screen size update handler
func _update_screen_size() -> void:
$Screen.mesh.size = screen_size
- $StaticBody.screen_size = screen_size
- $StaticBody/CollisionShape.shape.extents = Vector3(
+ $StaticBody3D.screen_size = screen_size
+ $StaticBody3D/CollisionShape3D.shape.extents = Vector3(
screen_size.x * 0.5,
screen_size.y * 0.5,
0.01)
@@ -231,7 +229,7 @@ func _update_screen_size() -> void:
# Viewport size update handler
func _update_viewport_size() -> void:
$Viewport.size = viewport_size
- $StaticBody.viewport_size = viewport_size
+ $StaticBody3D.viewport_size = viewport_size
# Update our viewport texture, it will have changed
viewport_texture = $Viewport.get_texture()
@@ -250,9 +248,9 @@ func _update_transparent() -> void:
$Viewport.transparent_bg = transparent != TransparancyMode.OPAQUE
# make sure we redraw the screen atleast once
- if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE:
+ if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE:
# this will trigger redrawing our screen
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
# Unshaded update handler
@@ -261,9 +259,9 @@ func _update_unshaded() -> void:
material.flags_unshaded = unshaded
# make sure we redraw the screen atleast once
- if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE:
+ if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE:
# this will trigger redrawing our screen
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
# Scene update handler
@@ -275,7 +273,7 @@ func _update_scene() -> void:
# in with the new
if scene:
- scene_node = scene.instance()
+ scene_node = scene.instantiate()
$Viewport.add_child(scene_node)
# (or use the scene if there is one already under the Viewport)
@@ -283,40 +281,40 @@ func _update_scene() -> void:
scene_node = $Viewport.get_child(0)
# make sure we update atleast once
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
# Filter update handler
func _update_filter() -> void:
- if viewport_texture:
- viewport_texture.flags = Texture.FLAG_FILTER if filter else 0
+ if material:
+ material.texture_filter = BaseMaterial3D.TEXTURE_FILTER_LINEAR if filter else 0
# make sure we redraw the screen atleast once
- if Engine.editor_hint or update_mode == UpdateMode.UPDATE_ONCE:
+ if Engine.is_editor_hint() or update_mode == UpdateMode.UPDATE_ONCE:
# this will trigger redrawing our screen
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
# Update mode handler
func _update_update_mode() -> void:
- if Engine.editor_hint:
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ if Engine.is_editor_hint():
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
return
if update_mode == UpdateMode.UPDATE_ONCE:
# this will trigger redrawing our screen
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
set_process(false)
elif update_mode == UpdateMode.UPDATE_ALWAYS:
# redraw screen every frame
- $Viewport.render_target_update_mode = Viewport.UPDATE_ALWAYS
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ALWAYS
set_process(false)
elif update_mode == UpdateMode.UPDATE_THROTTLED:
# we will attempt to update the screen at the given framerate
- $Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
set_process(true)
# Collision layer update handler
func _update_collision_layer() -> void:
- $StaticBody.collision_layer = collision_layer
+ $StaticBody3D.collision_layer = collision_layer
diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn
index 12200783..fe4adbc9 100644
--- a/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn
+++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn
@@ -1,50 +1,50 @@
-[gd_scene load_steps=7 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://clujaf3u776a3"]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" type="Script" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.gd" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd" id="2"]
-[sub_resource type="QuadMesh" id=1]
+[sub_resource type="QuadMesh" id="1"]
resource_local_to_scene = true
-size = Vector2( 3, 2 )
+size = Vector2(3, 2)
-[sub_resource type="ViewportTexture" id=5]
-flags = 4
+[sub_resource type="ViewportTexture" id="ViewportTexture_0vyuj"]
-[sub_resource type="SpatialMaterial" id=6]
-flags_transparent = true
-params_cull_mode = 2
-albedo_texture = SubResource( 5 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ney1s"]
+transparency = 1
+cull_mode = 2
+shading_mode = 0
+albedo_texture = SubResource("ViewportTexture_0vyuj")
+texture_filter = 1
-[sub_resource type="BoxShape" id=4]
+[sub_resource type="BoxShape3D" id="4"]
resource_local_to_scene = true
-extents = Vector3( 1.5, 1, 0.01 )
+size = Vector3(3, 2, 0.02)
-[node name="Viewport2Din3D" type="Spatial"]
-script = ExtResource( 2 )
+[node name="Viewport2Din3D" type="Node3D"]
+script = ExtResource("1")
-[node name="Viewport" type="Viewport" parent="."]
-size = Vector2( 300, 200 )
-transparent_bg = true
+[node name="Viewport" type="SubViewport" parent="."]
disable_3d = true
-usage = 0
-render_target_v_flip = true
+transparent_bg = true
+gui_embed_subwindows = true
+size = Vector2i(300, 200)
render_target_update_mode = 1
-[node name="Screen" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
-material/0 = SubResource( 6 )
+[node name="Screen" type="MeshInstance3D" parent="."]
+mesh = SubResource("1")
+surface_material_override/0 = SubResource("StandardMaterial3D_ney1s")
-[node name="StaticBody" type="StaticBody" parent="."]
+[node name="StaticBody3D" type="StaticBody3D" parent="."]
collision_layer = 1048577
collision_mask = 0
-script = ExtResource( 1 )
-viewport_size = Vector2( 300, 200 )
+script = ExtResource("2")
+viewport_size = Vector2(300, 200)
-[node name="CollisionShape" type="CollisionShape" parent="StaticBody"]
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
+shape = SubResource("4")
-[connection signal="pointer_entered" from="StaticBody" to="." method="_on_pointer_entered"]
-[connection signal="pointer_exited" from="StaticBody" to="." method="_on_pointer_exited"]
-[connection signal="pointer_moved" from="StaticBody" to="StaticBody" method="_on_pointer_moved"]
-[connection signal="pointer_pressed" from="StaticBody" to="StaticBody" method="_on_pointer_pressed"]
-[connection signal="pointer_released" from="StaticBody" to="StaticBody" method="_on_pointer_released"]
+[connection signal="pointer_entered" from="StaticBody3D" to="." method="_on_pointer_entered"]
+[connection signal="pointer_exited" from="StaticBody3D" to="." method="_on_pointer_exited"]
+[connection signal="pointer_moved" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_moved"]
+[connection signal="pointer_pressed" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_pressed"]
+[connection signal="pointer_released" from="StaticBody3D" to="StaticBody3D" method="_on_pointer_released"]
diff --git a/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd
index 85617c71..79e63128 100644
--- a/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd
+++ b/addons/godot-xr-tools/objects/viewport_2d_in_3d_body.gd
@@ -1,7 +1,7 @@
extends XRToolsInteractableBody
-export var screen_size = Vector2(3.0, 2.0)
-export var viewport_size = Vector2(100.0, 100.0)
+@export var screen_size = Vector2(3.0, 2.0)
+@export var viewport_size = Vector2(100.0, 100.0)
var vp = null
var mouse_mask = 0
@@ -12,8 +12,8 @@ func _ready():
# Convert intersection point to screen coordinate
func global_to_viewport(p_at):
- var t = $CollisionShape.global_transform
- var at = t.xform_inv(p_at)
+ var t = $CollisionShape3D.global_transform
+ var at = t.inverse() * p_at
# Convert to screen space
at.x = ((at.x / screen_size.x) + 0.5) * viewport_size.x
@@ -34,7 +34,7 @@ func _on_pointer_moved(from, to):
event.set_pressure(mouse_mask)
if vp:
- vp.input(event)
+ vp.push_input(event)
func _on_pointer_pressed(at):
var local_at = global_to_viewport(at)
@@ -49,7 +49,7 @@ func _on_pointer_pressed(at):
event.set_button_mask(mouse_mask)
if vp:
- vp.input(event)
+ vp.push_input(event)
func _on_pointer_released(at):
var local_at = global_to_viewport(at)
@@ -64,5 +64,5 @@ func _on_pointer_released(at):
event.set_button_mask(mouse_mask)
if vp:
- vp.input(event)
+ vp.push_input(event)
diff --git a/addons/godot-xr-tools/objects/virtual_keyboard.tscn b/addons/godot-xr-tools/objects/virtual_keyboard.tscn
index 36a8a7d2..4d1072f4 100644
--- a/addons/godot-xr-tools/objects/virtual_keyboard.tscn
+++ b/addons/godot-xr-tools/objects/virtual_keyboard.tscn
@@ -1,13 +1,13 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://dgdb1texynduw"]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://lauwp8okd1vh" path="res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.tscn" id="2"]
-[node name="VirtualKeyboard" type="Spatial"]
+[node name="VirtualKeyboard" type="Node3D"]
-[node name="Viewport2Din3D" parent="." instance=ExtResource( 1 )]
-screen_size = Vector2( 1.5, 0.558 )
-viewport_size = Vector2( 390, 145 )
-scene = ExtResource( 2 )
+[node name="Viewport2Din3D" parent="." instance=ExtResource("1")]
+screen_size = Vector2(1.5, 0.558)
+viewport_size = Vector2(390, 145)
+scene = ExtResource("2")
update_mode = 2
throttle_fps = 15.0
diff --git a/addons/godot-xr-tools/objects/wind_area.gd b/addons/godot-xr-tools/objects/wind_area.gd
index 9671fd69..536ac702 100644
--- a/addons/godot-xr-tools/objects/wind_area.gd
+++ b/addons/godot-xr-tools/objects/wind_area.gd
@@ -1,14 +1,14 @@
-tool
+@tool
class_name XRToolsWindArea
-extends Area
+extends Area3D
## Vector (direction and magnitude) of wind in this area
-export var wind_vector : Vector3 = Vector3.ZERO
+@export var wind_vector : Vector3 = Vector3.ZERO
## Wind drag factor
-export var drag : float = 1.0
+@export var drag : float = 1.0
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsWindArea" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsWindArea"
diff --git a/addons/godot-xr-tools/objects/wind_area.tscn b/addons/godot-xr-tools/objects/wind_area.tscn
index d2550448..0e8d9118 100644
--- a/addons/godot-xr-tools/objects/wind_area.tscn
+++ b/addons/godot-xr-tools/objects/wind_area.tscn
@@ -1,11 +1,11 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://nack1qite6lx"]
-[ext_resource path="res://addons/godot-xr-tools/objects/wind_area.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/wind_area.gd" id="1"]
-[node name="WindArea" type="Area"]
+[node name="WindArea" type="Area3D"]
collision_layer = 524288
collision_mask = 0
monitoring = false
-script = ExtResource( 1 )
+script = ExtResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="."]
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
diff --git a/addons/godot-xr-tools/overrides/ground_physics.gd b/addons/godot-xr-tools/overrides/ground_physics.gd
index ee2cfc36..55b03084 100644
--- a/addons/godot-xr-tools/overrides/ground_physics.gd
+++ b/addons/godot-xr-tools/overrides/ground_physics.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsGroundPhysics
extends Node
@@ -13,27 +13,26 @@ extends Node
## enable the appropriate flags and provide new values.
-## XRToolsGroundPhysicsSettings to apply - can only be typed in Godot 4+
-export var physics : Resource
+## XRToolsGroundPhysicsSettings to apply
+@export var physics : XRToolsGroundPhysicsSettings
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsGroundPhysics" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsGroundPhysics"
# This method verifies the ground physics has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Verify physics specified
if !physics:
- return "Physics must be specified"
-
- # Verify physics is of the correct type
- if !physics is XRToolsGroundPhysicsSettings:
- return "Physics must be an XRToolsGroundPhysicsSettings"
+ warnings.append("Physics must be specified")
+ elif !physics is XRToolsGroundPhysicsSettings:
+ warnings.append("Physics must be an XRToolsGroundPhysicsSettings")
- # Report valid
- return ""
+ return warnings
# Get the physics from a ground physics node
static func get_physics(
diff --git a/addons/godot-xr-tools/overrides/ground_physics.tscn b/addons/godot-xr-tools/overrides/ground_physics.tscn
index be29f73c..53439a51 100644
--- a/addons/godot-xr-tools/overrides/ground_physics.tscn
+++ b/addons/godot-xr-tools/overrides/ground_physics.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://ohmfk2ly8312"]
-[ext_resource path="res://addons/godot-xr-tools/overrides/ground_physics.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/overrides/ground_physics.gd" id="1"]
[node name="GroundPhysics" type="Node"]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/overrides/ground_physics_settings.gd b/addons/godot-xr-tools/overrides/ground_physics_settings.gd
index 1118fc3f..3009138a 100644
--- a/addons/godot-xr-tools/overrides/ground_physics_settings.gd
+++ b/addons/godot-xr-tools/overrides/ground_physics_settings.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsGroundPhysicsSettings
extends Resource
@@ -27,8 +27,7 @@ enum GroundPhysicsFlags {
}
## Flags defining which ground velocities are enabled
-export (int, FLAGS,
- "Move Drag",
+@export_flags("Move Drag",
"Move Traction",
"Move Max Slope",
"Jump Max Slope",
@@ -37,28 +36,28 @@ export (int, FLAGS,
"Bounce Threshold") var flags : int = 0
## Movement drag factor
-export var move_drag : float = 5.0
+@export var move_drag : float = 5.0
## Movement traction factor
-export var move_traction : float = 30.0
+@export var move_traction : float = 30.0
## Stop sliding on slope
-export var stop_on_slope : bool = true
+@export var stop_on_slope : bool = true
## Movement maximum slope
-export (float, 0.0, 85.0) var move_max_slope : float = 45.0
+@export_range(0.0, 85.0) var move_max_slope : float = 45.0
## Jump maximum slope
-export (float, 0.0, 85.0) var jump_max_slope : float = 45.0
+@export_range(0.0, 85.0) var jump_max_slope : float = 45.0
## Jump velocity
-export var jump_velocity : float = 3.0
+@export var jump_velocity : float = 3.0
## Ground bounciness (0 = no bounce, 1 = full bounciness)
-export var bounciness : float = 0.0
+@export var bounciness : float = 0.0
## Bounce threshold (skip bounce if velocity less than threshold)
-export var bounce_threshold : float = 1.0
+@export var bounce_threshold : float = 1.0
# Handle class initialization with default parameters
diff --git a/addons/godot-xr-tools/player/player_body.gd b/addons/godot-xr-tools/player/player_body.gd
index 1f095f80..c019518d 100644
--- a/addons/godot-xr-tools/player/player_body.gd
+++ b/addons/godot-xr-tools/player/player_body.gd
@@ -1,13 +1,14 @@
-tool
-class_name XRToolsPlayerBody, "res://addons/godot-xr-tools/editor/icons/body.svg"
-extends KinematicBody
+@tool
+@icon("res://addons/godot-xr-tools/editor/icons/body.svg")
+class_name XRToolsPlayerBody
+extends CharacterBody3D
## XR Tools Player Physics Body Script
##
## This node provides the player with a physics body. The body is a
-## [CapsuleShape] which tracks the player location as measured by the
-## [ARVRCamera] for the players head.
+## [CapsuleShape3D] which tracks the player location as measured by the
+## [XRCamera3D] for the players head.
##
## The player body can detect when the player is in the air, on the ground,
## or on a steep slope.
@@ -15,7 +16,7 @@ extends KinematicBody
## Player movement is achieved by a number of movement providers attached to
## either the player or their controllers.
##
-## After the player body moves, the [ARVROrigin] is updated as necessary to
+## After the player body moves, the [XROrigin3D] is updated as necessary to
## track the players movement.
@@ -42,37 +43,38 @@ const NEAR_GROUND_DISTANCE := 1.0
## If true, the player body performs physics processing and movement
-export var enabled : bool = true setget set_enabled
+@export var enabled : bool = true: set = set_enabled
## Radius of the player body collider
-export var player_radius : float = 0.2 setget set_player_radius
+@export var player_radius : float = 0.2: set = set_player_radius
## Player head height (distance between between camera and top of head)
-export var player_head_height : float = 0.1
+@export var player_head_height : float = 0.1
## Minimum player height
-export var player_height_min : float = 0.6
+@export var player_height_min : float = 0.6
## Maximum player height
-export var player_height_max : float = 2.2
+@export var player_height_max : float = 2.2
## Eyes forward offset from center of body in player_radius units
-export (float, 0.0, 1.0) var eye_forward_offset : float = 0.5
+@export_range(0.0, 1.0) var eye_forward_offset : float = 0.5
## Mix factor for body orientation
-export (float, 0.0, 1.0) var body_forward_mix : float = 0.75
+@export_range(0.0, 1.0) var body_forward_mix : float = 0.75
## Lets the player push rigid bodies
-export var push_rigid_bodies : bool = true
+@export var push_rigid_bodies : bool = true
-## Default ground physics setting - can only be typed in Godot 4+
-export var physics : Resource setget set_physics
+## Default ground physics settings
+@export var physics : XRToolsGroundPhysicsSettings: set = set_physics
## Option for specifying when ground control is allowed
-export (GroundControl) var ground_control : int = GroundControl.ON_GROUND
+@export var ground_control : GroundControl = GroundControl.ON_GROUND
-## Player 3D Velocity - modifiiable by [XRToolsMovementProvider] nodes
-var velocity : Vector3 = Vector3.ZERO
+
+## Player 3D Velocity - modified by [XRToolsMovementProvider] nodes
+#var velocity : Vector3 = Vector3.ZERO
## Current player gravity
var gravity : Vector3 = Vector3.ZERO
@@ -90,7 +92,7 @@ var ground_vector : Vector3 = Vector3.UP
var ground_angle : float = 0.0
## Ground node the player is touching
-var ground_node : Spatial = null
+var ground_node : Node3D = null
## Ground physics override (if present)
var ground_physics : XRToolsGroundPhysicsSettings = null
@@ -129,7 +131,7 @@ var _player_height_overrides := { }
var _player_height_override : float = -1.0
# Previous ground node
-var _previous_ground_node : Spatial = null
+var _previous_ground_node : Node3D = null
# Previous ground local position
var _previous_ground_local : Vector3 = Vector3.ZERO
@@ -138,55 +140,53 @@ var _previous_ground_local : Vector3 = Vector3.ZERO
var _previous_ground_global : Vector3 = Vector3.ZERO
# Player body Collision node
-var _collision_node : CollisionShape
+var _collision_node : CollisionShape3D
-## ARVROrigin node
-onready var origin_node : ARVROrigin = ARVRHelpers.get_arvr_origin(self)
+## XROrigin3D node
+@onready var origin_node : XROrigin3D = XRHelpers.get_xr_origin(self)
-## ARVRCamera node
-onready var camera_node : ARVRCamera = ARVRHelpers.get_arvr_camera(self)
+## XRCamera3D node
+@onready var camera_node : XRCamera3D = XRHelpers.get_xr_camera(self)
-## Left hand ARVRController node
-onready var left_hand_node : ARVRController = ARVRHelpers.get_left_controller(self)
+## Left hand XRController3D node
+@onready var left_hand_node : XRController3D = XRHelpers.get_left_controller(self)
-## Right hand ARVRController node
-onready var right_hand_node : ARVRController = ARVRHelpers.get_right_controller(self)
+## Right hand XRController3D node
+@onready var right_hand_node : XRController3D = XRHelpers.get_right_controller(self)
## Default physics (if not specified by the user or the current ground)
-onready var default_physics = _guaranteed_physics()
+@onready var default_physics = _guaranteed_physics()
-## Class to sort movement providers by order
-class SortProviderByOrder:
- static func sort_by_order(a, b) -> bool:
- return true if a.order < b.order else false
+## Function to sort movement providers by order
+func sort_by_order(a, b) -> bool:
+ return true if a.order < b.order else false
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsPlayerBody" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsPlayerBody"
# Called when the node enters the scene tree for the first time.
func _ready():
# Set as toplevel means our PlayerBody is positioned in global space.
# It is not moved when its parent moves.
- set_as_toplevel(true)
+ set_as_top_level(true)
# Create our collision shape, height will be updated later
- var capsule = CapsuleShape.new()
+ var capsule = CapsuleShape3D.new()
capsule.radius = player_radius
capsule.height = 1.4
- _collision_node = CollisionShape.new()
+ _collision_node = CollisionShape3D.new()
_collision_node.shape = capsule
- _collision_node.transform.basis = Basis(Vector3(0.5 * PI, 0.0, 0.0))
_collision_node.transform.origin = Vector3(0.0, 0.8, 0.0)
add_child(_collision_node)
# Get the movement providers ordered by increasing order
_movement_providers = get_tree().get_nodes_in_group("movement_providers")
- _movement_providers.sort_custom(SortProviderByOrder, "sort_by_order")
+ _movement_providers.sort_custom(sort_by_order)
# Propagate defaults
_update_enabled()
@@ -215,14 +215,14 @@ func _update_player_radius() -> void:
if _collision_node and _collision_node.shape:
_collision_node.shape.radius = player_radius
-func set_physics(new_value: Resource) -> void:
+func set_physics(new_value: XRToolsGroundPhysicsSettings) -> void:
# Save the property
physics = new_value
default_physics = _guaranteed_physics()
func _physics_process(delta: float):
# Do not run physics if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# If disabled then turn of physics processing and bail out
@@ -239,7 +239,7 @@ func _physics_process(delta: float):
up_player_plane = Plane(up_player_vector, 0.0)
# Determine environmental gravity
- var gravity_state := PhysicsServer.body_get_direct_state(get_rid())
+ var gravity_state := PhysicsServer3D.body_get_direct_state(get_rid())
gravity = gravity_state.total_gravity
# Update the kinematic body to be under the camera
@@ -269,7 +269,7 @@ func _physics_process(delta: float):
# Run the movement providers in order. The providers can:
# - Move the kinematic node around (to move the player)
- # - Rotate the ARVROrigin around the camera (to rotate the player)
+ # - Rotate the XROrigin3D around the camera (to rotate the player)
# - Read and modify the player velocity
# - Read and modify the ground-control velocity
# - Perform exclusive updating of the player (bypassing other movement providers)
@@ -293,7 +293,7 @@ func _physics_process(delta: float):
velocity += gravity * delta
_apply_velocity_and_control(delta)
- # Apply the player-body movement to the ARVR origin
+ # Apply the player-body movement to the XR origin
var movement := global_transform.origin - position_before_movement
origin_node.global_transform.origin += movement
@@ -325,7 +325,7 @@ func request_jump(skip_jump_velocity := false):
# Perform the jump
if !skip_jump_velocity:
- velocity += ground_vector * jump_velocity * ARVRServer.world_scale
+ velocity += ground_vector * jump_velocity * XRServer.world_scale
# Report the jump
emit_signal("player_jumped")
@@ -334,19 +334,18 @@ func request_jump(skip_jump_velocity := false):
## This method moves the players body using the provided velocity. Movement
## providers may use this function if they are exclusively driving the player.
func move_body(p_velocity: Vector3) -> Vector3:
- return move_and_slide(
- p_velocity,
- up_gravity_vector,
- false,
- 4,
- 0.785398,
- push_rigid_bodies)
-
-## This method rotates the player by rotating the [ARVROrigin] around the camera.
+ velocity = p_velocity
+ max_slides = 4
+ up_direction = up_gravity_vector
+ # push_rigid_bodies seems to no longer be supported...
+ move_and_slide()
+ return velocity
+
+## This method rotates the player by rotating the [XROrigin3D] around the camera.
func rotate_player(angle: float):
- var t1 := Transform()
- var t2 := Transform()
- var rot := Transform()
+ var t1 := Transform3D()
+ var t2 := Transform3D()
+ var rot := Transform3D()
t1.origin = -camera_node.transform.origin
t2.origin = camera_node.transform.origin
@@ -364,15 +363,15 @@ func slew_up(up: Vector3, slew: float) -> void:
var current_origin := origin_node.global_transform
# Save the player foot global and local positions
- var ref_pos_global := global_translation
- var ref_pos_local : Vector3 = current_origin.xform_inv(ref_pos_global)
+ var ref_pos_global := global_position
+ var ref_pos_local : Vector3 = ref_pos_global * current_origin
# Calculate the target origin
var target_origin := current_origin
target_origin.basis.y = up.normalized()
target_origin.basis.x = target_origin.basis.y.cross(target_origin.basis.z).normalized()
target_origin.basis.z = target_origin.basis.x.cross(target_origin.basis.y).normalized()
- target_origin.origin = ref_pos_global - target_origin.basis.xform(ref_pos_local)
+ target_origin.origin = ref_pos_global - target_origin.basis * ref_pos_local
# Calculate the new origin
var new_origin := current_origin.interpolate_with(target_origin, slew).orthonormalized()
@@ -432,19 +431,19 @@ func _update_body_under_camera():
var player_height: float = clamp(
camera_node.transform.origin.y + player_head_height +
player_height_offset + XRToolsUserSettings.player_height_adjust,
- player_height_min * ARVRServer.world_scale,
- player_height_max * ARVRServer.world_scale)
+ player_height_min * XRServer.world_scale,
+ player_height_max * XRServer.world_scale)
# Allow forced overriding of height
if _player_height_override >= 0.0:
player_height = _player_height_override
# Ensure player height makes mathematical sense
- player_height = max(player_height, player_radius * 2.0)
+ player_height = max(player_height, player_radius)
# Adjust the collision shape to match the player geometry
_collision_node.shape.radius = player_radius
- _collision_node.shape.height = player_height - (player_radius * 2.0)
+ _collision_node.shape.height = player_height
_collision_node.transform.origin.y = (player_height / 2.0)
# Center the kinematic body on the ground under the camera
@@ -454,8 +453,7 @@ func _update_body_under_camera():
curr_transform.origin = camera_transform.origin
curr_transform.origin += up_player_vector * (player_head_height - player_height)
- # The camera/eyes are towards the front of the body,
- # so move the body back slightly and face in the same direction
+ # The camera/eyes are towards the front of the body, so move the body back slightly
var forward_dir := _estimate_body_forward_dir()
if forward_dir.length() > 0.01:
curr_transform = curr_transform.looking_at(curr_transform.origin + forward_dir, up_player_vector)
@@ -468,7 +466,7 @@ func _update_body_under_camera():
func _update_ground_information(delta: float):
# Test how close we are to the ground
var ground_collision := move_and_collide(
- up_gravity_vector * -NEAR_GROUND_DISTANCE, true, true, true)
+ up_gravity_vector * -NEAR_GROUND_DISTANCE, true)
# Handle no collision (or too far away to care about)
if !ground_collision:
@@ -483,12 +481,12 @@ func _update_ground_information(delta: float):
# Categorize the type of ground contact
near_ground = true
- on_ground = ground_collision.travel.length() <= ON_GROUND_DISTANCE
+ on_ground = ground_collision.get_travel().length() <= ON_GROUND_DISTANCE
# Save the ground information from the collision
- ground_vector = ground_collision.normal
- ground_angle = rad2deg(ground_collision.get_angle(up_gravity_vector))
- ground_node = ground_collision.collider
+ ground_vector = ground_collision.get_normal()
+ ground_angle = rad_to_deg(ground_collision.get_angle(0, up_gravity_vector))
+ ground_node = ground_collision.get_collider()
# Select the ground physics
var physics_node := ground_node.get_node_or_null("GroundPhysics") as XRToolsGroundPhysics
@@ -507,7 +505,7 @@ func _update_ground_information(delta: float):
# Update ground velocity information
_previous_ground_node = ground_node
- _previous_ground_global = ground_collision.position
+ _previous_ground_global = ground_collision.get_position()
_previous_ground_local = ground_node.to_local(_previous_ground_global)
@@ -531,13 +529,13 @@ func _apply_velocity_and_control(delta: float):
control_velocity = (
dir_forward * -ground_control_velocity.y +
dir_right * ground_control_velocity.x
- ) * ARVRServer.world_scale
+ ) * XRServer.world_scale
# Apply control velocity to horizontal velocity based on traction
var current_traction := XRToolsGroundPhysicsSettings.get_move_traction(
ground_physics, default_physics)
var traction_factor: float = clamp(current_traction * delta, 0.0, 1.0)
- horizontal_velocity = lerp(horizontal_velocity, control_velocity, traction_factor)
+ horizontal_velocity = horizontal_velocity.lerp(control_velocity, traction_factor)
# Prevent the player from moving up steep slopes
var current_max_slope := XRToolsGroundPhysicsSettings.get_move_max_slope(
@@ -553,7 +551,7 @@ func _apply_velocity_and_control(delta: float):
var current_drag := XRToolsGroundPhysicsSettings.get_move_drag(
ground_physics, default_physics)
var drag_factor: float = clamp(current_drag * delta, 0, 1)
- horizontal_velocity = lerp(horizontal_velocity, control_velocity, drag_factor)
+ horizontal_velocity = horizontal_velocity.lerp(control_velocity, drag_factor)
# Combine the velocities back to a 3-space velocity
local_velocity = horizontal_velocity + vertical_velocity
@@ -562,10 +560,10 @@ func _apply_velocity_and_control(delta: float):
velocity = move_body(local_velocity + ground_velocity)
# Perform bounce test if a collision occurred
- if get_slide_count():
+ if get_slide_collision_count():
# Get the collider the player collided with
var collision := get_slide_collision(0)
- var collision_node := collision.collider
+ var collision_node := collision.get_collider()
# Check for a GroundPhysics node attached to the collider
var collision_physics_node := \
@@ -580,7 +578,7 @@ func _apply_velocity_and_control(delta: float):
collision_physics, default_physics)
var bounciness := XRToolsGroundPhysicsSettings.get_bounciness(
collision_physics, default_physics)
- var magnitude := -collision.normal.dot(local_velocity)
+ var magnitude := -collision.get_normal().dot(local_velocity)
# Detect if bounce should be performed
if bounciness > 0.0 and magnitude >= bounce_threshold:
@@ -621,51 +619,54 @@ func _guaranteed_physics():
# This method verifies the XRToolsPlayerBody has a valid configuration. Specifically it
# checks the following:
-# - ARVROrigin can be identified
-# - ARVRCamera can be identified
+# - XROrigin3D can be identified
+# - XRCamera3D can be identified
# - Player radius is valid
# - Maximum slope is valid
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Check the origin node
- var test_origin_node = ARVRHelpers.get_arvr_origin(self)
+ var test_origin_node := XRHelpers.get_xr_origin(self)
if !test_origin_node:
- return "Unable to find ARVR Origin node"
+ warnings.append("Unable to find XR Origin node")
# Check the camera node
- var test_camera_node = ARVRHelpers.get_arvr_camera(self)
+ var test_camera_node := XRHelpers.get_xr_camera(self)
if !test_camera_node:
- return "Unable to find ARVR Camera node"
+ warnings.append("Unable to find XR Camera node")
# Verify the player radius is valid
if player_radius <= 0:
- return "Player radius must be configured"
+ warnings.append("Player radius must be configured")
# Verify the player height minimum is valid
if player_height_min < player_radius * 2.0:
- return "Player height minimum smaller than 2x radius"
+ warnings.append("Player height minimum smaller than 2x radius")
# Verify the player height maximum is valid
if player_height_max < player_height_min:
- return "Player height maximum cannot be smaller than minimum"
+ warnings.append("Player height maximum cannot be smaller than minimum")
# Verify eye-forward does not allow near-clip-plane look through
var eyes_to_collider = (1.0 - eye_forward_offset) * player_radius
- if eyes_to_collider < test_camera_node.near:
- return "Eyes too far forwards. Move eyes back or decrease camera near clipping plane"
+ if test_camera_node and eyes_to_collider < test_camera_node.near:
+ warnings.append(
+ "Eyes too far forwards. Move eyes back or decrease camera near clipping plane")
# If specified, verify the ground physics is a valid type
if physics and !physics is XRToolsGroundPhysicsSettings:
- return "Physics resource must be a GroundPhysicsSettings"
+ warnings.append("Physics resource must be a GroundPhysicsSettings")
- # Passed basic validation
- return ""
+ # Return warnings
+ return warnings
## Find an [XRToolsPlayerBody] node.
##
## This function searches from the specified node for an [XRToolsPlayerBody]
-## assuming the node is a sibling of the body under an [ARVROrigin].
+## assuming the node is a sibling of the body under an [XROrigin3D].
static func find_instance(node: Node) -> XRToolsPlayerBody:
- return XRTools.find_child(
- ARVRHelpers.get_arvr_origin(node),
+ return XRTools.find_xr_child(
+ XRHelpers.get_xr_origin(node),
"*",
"XRToolsPlayerBody") as XRToolsPlayerBody
diff --git a/addons/godot-xr-tools/player/player_body.tscn b/addons/godot-xr-tools/player/player_body.tscn
index 76ef2ff8..a070e9e3 100644
--- a/addons/godot-xr-tools/player/player_body.tscn
+++ b/addons/godot-xr-tools/player/player_body.tscn
@@ -1,8 +1,9 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://diyu06cw06syv"]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="1"]
-[node name="PlayerBody" type="KinematicBody" groups=["player_body"]]
+[node name="PlayerBody" type="CharacterBody3D" groups=["player_body"]]
+top_level = true
collision_layer = 524288
collision_mask = 1023
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/addons/godot-xr-tools/player/poke/poke.gd b/addons/godot-xr-tools/player/poke/poke.gd
index 58cb02d3..e7928045 100644
--- a/addons/godot-xr-tools/player/poke/poke.gd
+++ b/addons/godot-xr-tools/player/poke/poke.gd
@@ -1,16 +1,16 @@
-tool
+@tool
class_name XRToolsPoke
-extends Spatial
+extends Node3D
-export var enabled : bool = true setget set_enabled
-export var radius : float = 0.005 setget set_radius
-export var teleport_distance : float = 0.1 setget set_teleport_distance
-export var color : Color = Color(0.8, 0.8, 1.0, 0.5) setget set_color
+@export var enabled : bool = true: set = set_enabled
+@export var radius : float = 0.005: set = set_radius
+@export var teleport_distance : float = 0.1: set = set_teleport_distance
+@export var color : Color = Color(0.8, 0.8, 1.0, 0.5): set = set_color
var is_ready = false
-var material : SpatialMaterial
+var material : StandardMaterial3D
var target : Node ## Node we last started touching
var last_collided_at : Vector3
@@ -29,7 +29,7 @@ func set_radius(new_radius : float) -> void:
_update_radius()
func _update_radius() -> void:
- var shape : SphereShape = $PokeBody/CollisionShape.shape
+ var shape : SphereShape3D = $PokeBody/CollisionShape.shape
if shape:
shape.radius = radius
@@ -39,7 +39,7 @@ func _update_radius() -> void:
mesh.height = radius * 2.0
if material:
- $PokeBody/MeshInstance.set_surface_material(0, material)
+ $PokeBody/MeshInstance.set_surface_override_material(0, material)
func set_teleport_distance(new_distance : float) -> void:
teleport_distance = new_distance
@@ -59,18 +59,18 @@ func _update_color() -> void:
material.albedo_color = color
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsPoke" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsPoke"
# Called when the node enters the scene tree for the first time.
func _ready():
# Set as top level ensures we're placing this object in global space
- $PokeBody.set_as_toplevel(true)
+ $PokeBody.set_as_top_level(true)
is_ready = true
- material = SpatialMaterial.new()
+ material = StandardMaterial3D.new()
material.flags_unshaded = true
material.flags_transparent = true
diff --git a/addons/godot-xr-tools/player/poke/poke.tscn b/addons/godot-xr-tools/player/poke/poke.tscn
index f83b30c1..963677d0 100644
--- a/addons/godot-xr-tools/player/poke/poke.tscn
+++ b/addons/godot-xr-tools/player/poke/poke.tscn
@@ -1,43 +1,38 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=5 format=3]
-[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/player/poke/poke_body.gd" type="Script" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke.gd" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/player/poke/poke_body.gd" id="2"]
-[sub_resource type="SphereShape" id=1]
+[sub_resource type="SphereShape3D" id="1"]
resource_local_to_scene = true
radius = 0.005
-[sub_resource type="SphereMesh" id=2]
+[sub_resource type="SphereMesh" id="2"]
resource_local_to_scene = true
radius = 0.005
height = 0.01
radial_segments = 32
rings = 16
-[sub_resource type="SpatialMaterial" id=3]
-flags_transparent = true
-flags_unshaded = true
-albedo_color = Color( 0.8, 0.8, 1, 0.5 )
+[node name="Poke" type="Node3D"]
+script = ExtResource("1")
-[node name="Poke" type="Spatial"]
-script = ExtResource( 1 )
-
-[node name="PokeBody" type="RigidBody" parent="."]
+[node name="PokeBody" type="RigidBody3D" parent="."]
+top_level = true
collision_layer = 131072
collision_mask = 65535
gravity_scale = 0.0
custom_integrator = true
-contacts_reported = 1
+max_contacts_reported = 1
contact_monitor = true
-script = ExtResource( 2 )
+script = ExtResource("2")
teleport_distance = 0.1
-[node name="CollisionShape" type="CollisionShape" parent="PokeBody"]
-shape = SubResource( 1 )
+[node name="CollisionShape" type="CollisionShape3D" parent="PokeBody"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="PokeBody"]
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+[node name="MeshInstance" type="MeshInstance3D" parent="PokeBody"]
+mesh = SubResource("2")
[connection signal="body_entered" from="PokeBody" to="." method="_on_PokeBody_body_entered"]
[connection signal="body_exited" from="PokeBody" to="." method="_on_PokeBody_body_exited"]
diff --git a/addons/godot-xr-tools/player/poke/poke_body.gd b/addons/godot-xr-tools/player/poke/poke_body.gd
index 03f6e7a3..a60b3392 100644
--- a/addons/godot-xr-tools/player/poke/poke_body.gd
+++ b/addons/godot-xr-tools/player/poke/poke_body.gd
@@ -1,9 +1,9 @@
-extends RigidBody
+extends RigidBody3D
# distance at which we teleport our poke body
-export var teleport_distance : float = 0.2
+@export var teleport_distance : float = 0.2
-func _integrate_forces(state: PhysicsDirectBodyState):
+func _integrate_forces(state: PhysicsDirectBodyState3D):
# get the position of our parent that we are following
var following_transform = get_parent().global_transform
diff --git a/addons/godot-xr-tools/plugin.cfg b/addons/godot-xr-tools/plugin.cfg
index dcebd07b..76a9d4c1 100644
--- a/addons/godot-xr-tools/plugin.cfg
+++ b/addons/godot-xr-tools/plugin.cfg
@@ -3,5 +3,5 @@
name="Godot XR Tools"
description="Godot XR Tools plugin"
author="Bastiaan Olij and Contributors"
-version="3.4.0"
+version="4.0.0"
script="plugin.gd"
diff --git a/addons/godot-xr-tools/plugin.gd b/addons/godot-xr-tools/plugin.gd
index c9d751e5..70166f96 100644
--- a/addons/godot-xr-tools/plugin.gd
+++ b/addons/godot-xr-tools/plugin.gd
@@ -1,4 +1,4 @@
-tool
+@tool
extends EditorPlugin
@@ -30,7 +30,7 @@ func _enter_tree():
# Add input grip threshold to the project settings
_define_project_setting(
"godot_xr_tools/input/grip_threshold",
- TYPE_REAL,
+ TYPE_FLOAT,
PROPERTY_HINT_RANGE,
"0.2,0.8,0.05",
0.7)
@@ -38,7 +38,7 @@ func _enter_tree():
# Add input snap turning dead-zone to the project settings
_define_project_setting(
"godot_xr_tools/input/snap_turning_deadzone",
- TYPE_REAL,
+ TYPE_FLOAT,
PROPERTY_HINT_RANGE,
"0.0,0.5,0.05",
0.25)
@@ -54,7 +54,7 @@ func _enter_tree():
# Add player standard height to the project settings
_define_project_setting(
"godot_xr_tools/player/standard_height",
- TYPE_REAL,
+ TYPE_FLOAT,
PROPERTY_HINT_RANGE,
"1.0,2.5,0.05",
1.85)
diff --git a/addons/godot-xr-tools/staging/fade.gdshader b/addons/godot-xr-tools/staging/fade.gdshader
index 44d0ffda..30704235 100644
--- a/addons/godot-xr-tools/staging/fade.gdshader
+++ b/addons/godot-xr-tools/staging/fade.gdshader
@@ -1,11 +1,10 @@
shader_type spatial;
-render_mode depth_test_disable, skip_vertex_transform, unshaded;
+render_mode depth_test_disabled, skip_vertex_transform, unshaded;
uniform float alpha = 0.0;
void vertex() {
- vec3 v = VERTEX;
- POSITION = vec4(v, 1.0);
+ POSITION = vec4(VERTEX.x, -VERTEX.y, 0.0, 1.0);
}
void fragment() {
diff --git a/addons/godot-xr-tools/staging/loading_screen.gd b/addons/godot-xr-tools/staging/loading_screen.gd
index da0d99b2..64bdffcf 100644
--- a/addons/godot-xr-tools/staging/loading_screen.gd
+++ b/addons/godot-xr-tools/staging/loading_screen.gd
@@ -1,5 +1,5 @@
-tool
-extends Spatial
+@tool
+extends Node3D
## XR Tools Loading Screen
@@ -22,26 +22,26 @@ signal continue_pressed
## If true, the screen follows the camera
-export var follow_camera : bool = true setget set_follow_camera
+@export var follow_camera : bool = true: set = set_follow_camera
## Curve for following the camera
-export var follow_speed : Curve
+@export var follow_speed : Curve
## Splash screen texture
-export var splash_screen : Texture setget set_splash_screen
+@export var splash_screen : Texture2D: set = set_splash_screen
## Progress bar
-export (float, 0.0, 1.0, 0.01) var progress : float = 0.5 setget set_progress_bar
+@export_range(0.0, 1.0, 0.01) var progress : float = 0.5: set = set_progress_bar
## If true, the contine message is shown, if false the progress bar is visible.
-export var enable_press_to_continue : bool = false setget set_enable_press_to_continue
+@export var enable_press_to_continue : bool = false: set = set_enable_press_to_continue
# Camera to track
-var _camera : ARVRCamera
+var _camera : XRCamera3D
# Splash screen material
-var _splash_screen_material : SpatialMaterial
+var _splash_screen_material : StandardMaterial3D
# Progress material
var _progress_material : ShaderMaterial
@@ -49,7 +49,7 @@ var _progress_material : ShaderMaterial
func _ready():
# Get materials
- _splash_screen_material = $SplashScreen.get_surface_material(0)
+ _splash_screen_material = $SplashScreen.get_surface_override_material(0)
_progress_material = $ProgressBar.mesh.surface_get_material(0)
# Perform initial update
@@ -84,12 +84,12 @@ func _process(delta):
# Do rotation based on the curve
global_transform.basis = global_transform.basis.rotated(
Vector3.UP * sign(angle),
- follow_speed.interpolate_baked(abs(angle) / PI) * delta
+ follow_speed.sample_baked(abs(angle) / PI) * delta
).orthonormalized()
## Set the camera to track
-func set_camera(p_camera : ARVRCamera) -> void:
+func set_camera(p_camera : XRCamera3D) -> void:
_camera = p_camera
_update_follow_camera()
@@ -101,7 +101,7 @@ func set_follow_camera(p_enabled : bool) -> void:
## Set the splash_screen texture property
-func set_splash_screen(p_splash_screen : Texture) -> void:
+func set_splash_screen(p_splash_screen : Texture2D) -> void:
splash_screen = p_splash_screen
_update_splash_screen()
@@ -130,7 +130,7 @@ func _update_splash_screen():
func _update_progress_bar():
if _progress_material:
- _progress_material.set_shader_param("progress", progress)
+ _progress_material.set_shader_parameter("progress", progress)
func _update_enable_press_to_continue():
diff --git a/addons/godot-xr-tools/staging/loading_screen.tscn b/addons/godot-xr-tools/staging/loading_screen.tscn
index 47c26b03..e22d8a6d 100644
--- a/addons/godot-xr-tools/staging/loading_screen.tscn
+++ b/addons/godot-xr-tools/staging/loading_screen.tscn
@@ -1,63 +1,68 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=14 format=3 uid="uid://bqumugyvkct4r"]
-[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen.gd" type="Script" id=2]
-[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen_shader.tres" type="Shader" id=3]
-[ext_resource path="res://addons/godot-xr-tools/assets/misc/progress_bar.png" type="Texture" id=4]
-[ext_resource path="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" type="Texture" id=5]
-[ext_resource path="res://addons/godot-xr-tools/misc/hold_button.tscn" type="PackedScene" id=6]
+[ext_resource type="Texture2D" uid="uid://ftrrxm7sxndi" path="res://assets/godot/splash.png" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/loading_screen.gd" id="2"]
+[ext_resource type="Shader" uid="uid://4i0pwdtfmtsv" path="res://addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres" id="3"]
+[ext_resource type="Texture2D" uid="uid://clbtsf0ahb3fm" path="res://addons/godot-xr-tools/assets/misc/progress_bar.png" id="4"]
+[ext_resource type="Texture2D" uid="uid://ocyj01x5mtt7" path="res://addons/godot-xr-tools/assets/misc/Hold trigger to continue.png" id="5"]
+[ext_resource type="PackedScene" uid="uid://cymteydkxagpp" path="res://addons/godot-xr-tools/misc/hold_button.tscn" id="6"]
-[sub_resource type="Curve" id=21]
+[sub_resource type="Curve" id="21"]
max_value = 3.14
-_data = [ Vector2( 0.00207039, 0 ), 0.0, 1.00884, 0, 0, Vector2( 1, 3.14 ), 0.313348, 0.0, 0, 0 ]
+_data = [Vector2(0.00207039, 0), 0.0, 1.00884, 0, 0, Vector2(1, 3.14), 0.313348, 0.0, 0, 0]
+point_count = 2
-[sub_resource type="PlaneMesh" id=2]
-size = Vector2( 80, 60 )
+[sub_resource type="PlaneMesh" id="2"]
+size = Vector2(80, 60)
-[sub_resource type="SpatialMaterial" id=1]
-flags_transparent = true
-flags_unshaded = true
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_1o2lp"]
+transparency = 1
+shading_mode = 0
+albedo_texture = ExtResource("1")
-[sub_resource type="ShaderMaterial" id=18]
-shader = ExtResource( 3 )
-shader_param/bar_color = Color( 1, 1, 1, 1 )
-shader_param/cutout = Vector3( 4.85, 0.33, 0 )
-shader_param/progress = 0.5
-shader_param/bar_texture = ExtResource( 4 )
+[sub_resource type="ShaderMaterial" id="18"]
+render_priority = 0
+shader = ExtResource("3")
+shader_parameter/bar_color = Color(1, 1, 1, 1)
+shader_parameter/cutout = Vector3(4.85, 0.33, 0)
+shader_parameter/progress = 0.5
+shader_parameter/bar_texture = ExtResource("4")
-[sub_resource type="PlaneMesh" id=3]
-material = SubResource( 18 )
-size = Vector2( 10, 1 )
+[sub_resource type="PlaneMesh" id="3"]
+material = SubResource("18")
+size = Vector2(10, 1)
-[sub_resource type="QuadMesh" id=19]
-size = Vector2( 9.25, 1 )
+[sub_resource type="QuadMesh" id="19"]
+size = Vector2(9.25, 1)
-[sub_resource type="SpatialMaterial" id=20]
-flags_transparent = true
-flags_unshaded = true
-albedo_texture = ExtResource( 5 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k8dyo"]
+transparency = 1
+shading_mode = 0
+albedo_texture = ExtResource("5")
-[node name="LoadingScreen" type="Spatial"]
-script = ExtResource( 2 )
-follow_speed = SubResource( 21 )
+[node name="LoadingScreen" type="Node3D"]
+script = ExtResource("2")
+follow_speed = SubResource("21")
+splash_screen = ExtResource("1")
-[node name="SplashScreen" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15, -50 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 1 )
+[node name="SplashScreen" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 15, -50)
+mesh = SubResource("2")
+surface_material_override/0 = SubResource("StandardMaterial3D_1o2lp")
-[node name="ProgressBar" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -10 )
-mesh = SubResource( 3 )
+[node name="ProgressBar" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, -10)
+mesh = SubResource("3")
-[node name="PressToContinue" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -10 )
+[node name="PressToContinue" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -10)
visible = false
-mesh = SubResource( 19 )
-material/0 = SubResource( 20 )
+mesh = SubResource("19")
+surface_material_override/0 = SubResource("StandardMaterial3D_k8dyo")
-[node name="HoldButton" parent="PressToContinue" instance=ExtResource( 6 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5.55766, 0, 0 )
+[node name="HoldButton" parent="PressToContinue" instance=ExtResource("6")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.55766, 0, 0)
hold_time = 0.5
-color = Color( 0, 0.717647, 1, 1 )
+color = Color(0, 0.717647, 1, 1)
[connection signal="pressed" from="PressToContinue/HoldButton" to="." method="_on_HoldButton_pressed"]
diff --git a/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres
index 4469d23c..a31535e2 100644
--- a/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres
+++ b/addons/godot-xr-tools/staging/loading_screen/loading_screen_shader.tres
@@ -1,176 +1,186 @@
-[gd_resource type="VisualShader" load_steps=15 format=2]
+[gd_resource type="VisualShader" load_steps=16 format=3 uid="uid://4i0pwdtfmtsv"]
-[sub_resource type="VisualShaderNodeCompare" id=5]
+[sub_resource type="VisualShaderNodeCompare" id="5"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ]
-type = 1
+default_input_values = [0, Vector2(0, 0), 1, Vector2(0, 0), 2, 1e-05]
+type = 3
function = 4
condition = 1
-[sub_resource type="VisualShaderNodeScalarUniform" id=6]
-uniform_name = "progress"
+[sub_resource type="VisualShaderNodeFloatParameter" id="6"]
+parameter_name = "progress"
-[sub_resource type="VisualShaderNodeVectorCompose" id=7]
+[sub_resource type="VisualShaderNodeVectorCompose" id="7"]
-[sub_resource type="VisualShaderNodeScalarOp" id=8]
+[sub_resource type="VisualShaderNodeFloatOp" id="8"]
output_port_for_preview = 0
operator = 6
-[sub_resource type="VisualShaderNodeColorUniform" id=9]
-uniform_name = "bar_color"
+[sub_resource type="VisualShaderNodeColorParameter" id="9"]
+parameter_name = "bar_color"
-[sub_resource type="VisualShaderNodeTextureUniform" id=17]
-uniform_name = "bar_texture"
+[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"]
+parameter_name = "bar_texture"
texture_type = 1
-[sub_resource type="VisualShaderNodeVectorOp" id=18]
+[sub_resource type="VisualShaderNodeVectorOp" id="18"]
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=19]
+[sub_resource type="VisualShaderNodeFloatOp" id="19"]
operator = 2
-[sub_resource type="VisualShaderNodeVec3Uniform" id=20]
-uniform_name = "cutout"
+[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"]
+output_port_for_preview = 0
+expanded_output_ports = [0]
+source = 5
+texture_type = 1
-[sub_resource type="VisualShaderNodeInput" id=10]
+[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"]
+parameter_name = "cutout"
+default_value_enabled = true
+default_value = Vector3(4.85, 0.33, 0)
+
+[sub_resource type="VisualShaderNodeInput" id="10"]
input_name = "uv"
-[sub_resource type="VisualShaderNodeVectorOp" id=11]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 10, 1, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="11"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=12]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 5, 0.5, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="12"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)]
operator = 1
-[sub_resource type="VisualShaderNodeVectorFunc" id=13]
-function = 6
+[sub_resource type="VisualShaderNodeVectorFunc" id="13"]
+function = 4
-[sub_resource type="VisualShaderNodeCompare" id=15]
+[sub_resource type="VisualShaderNodeCompare" id="15"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ]
-type = 1
+default_input_values = [0, Vector2(0, 0), 1, Vector2(4.85, 0.33), 2, 1e-05]
+type = 3
function = 2
condition = 1
[resource]
code = "shader_type spatial;
-render_mode specular_schlick_ggx, async_visible, unshaded;
+render_mode unshaded;
-uniform vec4 bar_color : hint_color;
-uniform sampler2D bar_texture : hint_albedo;
-uniform vec3 cutout;
+uniform vec4 bar_color : source_color;
+uniform sampler2D bar_texture : source_color;
+uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000);
uniform float progress;
-void vertex() {
-// Output:0
+void fragment() {
+// ColorParameter:15
+ vec4 n_out15p0 = bar_color;
-}
-void fragment() {
-// ColorUniform:15
- vec3 n_out15p0 = bar_color.rgb;
- float n_out15p1 = bar_color.a;
+ vec4 n_out19p0;
+// Texture2D:19
+ n_out19p0 = texture(bar_texture, UV);
+ float n_out19p4 = n_out19p0.a;
-// TextureUniform:16
- vec3 n_out16p0;
- float n_out16p1;
- {
- vec4 n_tex_read = texture(bar_texture, UV.xy);
- n_out16p0 = n_tex_read.rgb;
- n_out16p1 = n_tex_read.a;
- }
// VectorOp:17
- vec3 n_out17p0 = n_out15p0 * n_out16p0;
+ vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz);
+
// Input:3
- vec3 n_out3p0 = vec3(UV, 0.0);
+ vec2 n_out3p0 = UV;
+
// VectorOp:4
vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000);
- vec3 n_out4p0 = n_out3p0 * n_in4p1;
+ vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1;
+
// VectorOp:5
vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000);
vec3 n_out5p0 = n_out4p0 - n_in5p1;
+
// VectorFunc:6
vec3 n_out6p0 = abs(n_out5p0);
-// VectorUniform:19
- vec3 n_out19p0 = cutout;
-// Compare:8
+// Vector3Parameter:20
+ vec3 n_out20p0 = cutout;
+
+
bool n_out8p0;
+// Compare:8
{
- bvec3 _bv = greaterThan(n_out6p0, n_out19p0);
+ bvec2 _bv = greaterThan(vec2(n_out6p0.xy), vec2(n_out20p0.xy));
n_out8p0 = any(_bv);
}
-// ScalarUniform:12
+
+// FloatParameter:12
float n_out12p0 = progress;
+
// VectorCompose:13
float n_in13p1 = 0.00000;
float n_in13p2 = 0.00000;
vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2);
-// Compare:11
+
bool n_out11p0;
+// Compare:11
{
- bvec3 _bv = lessThan(n_out3p0, n_out13p0);
+ bvec2 _bv = lessThan(n_out3p0, vec2(n_out13p0.xy));
n_out11p0 = any(_bv);
}
-// ScalarOp:14
+
+// FloatOp:14
float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0));
-// ScalarOp:18
- float n_out18p0 = n_out16p1 * n_out14p0;
+
+// FloatOp:18
+ float n_out18p0 = n_out19p4 * n_out14p0;
+
// Output:0
ALBEDO = n_out17p0;
ALPHA = n_out18p0;
-}
-
-void light() {
-// Output:0
}
"
-graph_offset = Vector2( -195.354, 305.623 )
+graph_offset = Vector2(-744.269, 307.118)
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 1220, 440 )
-nodes/fragment/3/node = SubResource( 10 )
-nodes/fragment/3/position = Vector2( -320, 580 )
-nodes/fragment/4/node = SubResource( 11 )
-nodes/fragment/4/position = Vector2( -120, 460 )
-nodes/fragment/5/node = SubResource( 12 )
-nodes/fragment/5/position = Vector2( 60, 460 )
-nodes/fragment/6/node = SubResource( 13 )
-nodes/fragment/6/position = Vector2( 260, 480 )
-nodes/fragment/8/node = SubResource( 15 )
-nodes/fragment/8/position = Vector2( 500, 480 )
-nodes/fragment/11/node = SubResource( 5 )
-nodes/fragment/11/position = Vector2( 500, 780 )
-nodes/fragment/12/node = SubResource( 6 )
-nodes/fragment/12/position = Vector2( -40, 820 )
-nodes/fragment/13/node = SubResource( 7 )
-nodes/fragment/13/position = Vector2( 280, 940 )
-nodes/fragment/14/node = SubResource( 8 )
-nodes/fragment/14/position = Vector2( 743.56, 671.244 )
-nodes/fragment/15/node = SubResource( 9 )
-nodes/fragment/15/position = Vector2( 640, 260 )
-nodes/fragment/16/node = SubResource( 17 )
-nodes/fragment/16/position = Vector2( 720, 440 )
-nodes/fragment/17/node = SubResource( 18 )
-nodes/fragment/17/position = Vector2( 980, 340 )
-nodes/fragment/18/node = SubResource( 19 )
-nodes/fragment/18/position = Vector2( 980, 560 )
-nodes/fragment/19/node = SubResource( 20 )
-nodes/fragment/19/position = Vector2( 160, 620 )
-nodes/fragment/connections = PoolIntArray( 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 19, 0, 8, 1 )
+nodes/fragment/0/position = Vector2(1220, 440)
+nodes/fragment/3/node = SubResource("10")
+nodes/fragment/3/position = Vector2(-1020, 580)
+nodes/fragment/4/node = SubResource("11")
+nodes/fragment/4/position = Vector2(-620, 400)
+nodes/fragment/5/node = SubResource("12")
+nodes/fragment/5/position = Vector2(-440, 400)
+nodes/fragment/6/node = SubResource("13")
+nodes/fragment/6/position = Vector2(-240, 420)
+nodes/fragment/8/node = SubResource("15")
+nodes/fragment/8/position = Vector2(240, 460)
+nodes/fragment/11/node = SubResource("5")
+nodes/fragment/11/position = Vector2(240, 860)
+nodes/fragment/12/node = SubResource("6")
+nodes/fragment/12/position = Vector2(-640, 980)
+nodes/fragment/13/node = SubResource("7")
+nodes/fragment/13/position = Vector2(-280, 960)
+nodes/fragment/14/node = SubResource("8")
+nodes/fragment/14/position = Vector2(480, 680)
+nodes/fragment/15/node = SubResource("9")
+nodes/fragment/15/position = Vector2(580, -40)
+nodes/fragment/16/node = SubResource("17")
+nodes/fragment/16/position = Vector2(40, -100)
+nodes/fragment/17/node = SubResource("18")
+nodes/fragment/17/position = Vector2(980, 80)
+nodes/fragment/18/node = SubResource("19")
+nodes/fragment/18/position = Vector2(940, 500)
+nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli")
+nodes/fragment/19/position = Vector2(480, 260)
+nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j")
+nodes/fragment/20/position = Vector2(-280, 600)
+nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1)
diff --git a/addons/godot-xr-tools/staging/loading_screen_shader.tres b/addons/godot-xr-tools/staging/loading_screen_shader.tres
index 4469d23c..11ede72c 100644
--- a/addons/godot-xr-tools/staging/loading_screen_shader.tres
+++ b/addons/godot-xr-tools/staging/loading_screen_shader.tres
@@ -1,176 +1,187 @@
-[gd_resource type="VisualShader" load_steps=15 format=2]
+[gd_resource type="VisualShader" load_steps=16 format=3]
-[sub_resource type="VisualShaderNodeCompare" id=5]
+[sub_resource type="VisualShaderNodeCompare" id="5"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ]
-type = 1
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0), 2, 1e-05]
+type = 3
function = 4
condition = 1
-[sub_resource type="VisualShaderNodeScalarUniform" id=6]
-uniform_name = "progress"
+[sub_resource type="VisualShaderNodeFloatParameter" id="6"]
+parameter_name = "progress"
-[sub_resource type="VisualShaderNodeVectorCompose" id=7]
+[sub_resource type="VisualShaderNodeVectorCompose" id="7"]
-[sub_resource type="VisualShaderNodeScalarOp" id=8]
+[sub_resource type="VisualShaderNodeFloatOp" id="8"]
output_port_for_preview = 0
operator = 6
-[sub_resource type="VisualShaderNodeColorUniform" id=9]
-uniform_name = "bar_color"
+[sub_resource type="VisualShaderNodeColorParameter" id="9"]
+parameter_name = "bar_color"
-[sub_resource type="VisualShaderNodeTextureUniform" id=17]
-uniform_name = "bar_texture"
+[sub_resource type="VisualShaderNodeTexture2DParameter" id="17"]
+parameter_name = "bar_texture"
texture_type = 1
-[sub_resource type="VisualShaderNodeVectorOp" id=18]
+[sub_resource type="VisualShaderNodeVectorOp" id="18"]
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=19]
+[sub_resource type="VisualShaderNodeFloatOp" id="19"]
operator = 2
-[sub_resource type="VisualShaderNodeVec3Uniform" id=20]
-uniform_name = "cutout"
+[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_hpnli"]
+output_port_for_preview = 0
+expanded_output_ports = [0]
+source = 5
+texture_type = 1
-[sub_resource type="VisualShaderNodeInput" id=10]
+[sub_resource type="VisualShaderNodeVec3Parameter" id="VisualShaderNodeVec3Parameter_fhc2j"]
+parameter_name = "cutout"
+default_value_enabled = true
+default_value = Vector3(4.85, 0.33, 0)
+
+[sub_resource type="VisualShaderNodeInput" id="10"]
input_name = "uv"
-[sub_resource type="VisualShaderNodeVectorOp" id=11]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 10, 1, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="11"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(10, 1, 0)]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=12]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 5, 0.5, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="12"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(5, 0.5, 0)]
operator = 1
-[sub_resource type="VisualShaderNodeVectorFunc" id=13]
-function = 6
+[sub_resource type="VisualShaderNodeVectorFunc" id="13"]
+function = 4
-[sub_resource type="VisualShaderNodeCompare" id=15]
+[sub_resource type="VisualShaderNodeCompare" id="15"]
output_port_for_preview = 0
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 0, 0 ), 2, 1e-05 ]
-type = 1
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(4.85, 0.33, 0), 2, 1e-05]
+type = 3
function = 2
condition = 1
[resource]
code = "shader_type spatial;
-render_mode specular_schlick_ggx, async_visible, unshaded;
+render_mode unshaded;
-uniform vec4 bar_color : hint_color;
-uniform sampler2D bar_texture : hint_albedo;
-uniform vec3 cutout;
+uniform vec4 bar_color : source_color;
+uniform sampler2D bar_texture : source_color;
+uniform vec3 cutout = vec3(4.850000, 0.330000, 0.000000);
uniform float progress;
-void vertex() {
-// Output:0
+void fragment() {
+// ColorParameter:15
+ vec4 n_out15p0 = bar_color;
-}
-void fragment() {
-// ColorUniform:15
- vec3 n_out15p0 = bar_color.rgb;
- float n_out15p1 = bar_color.a;
-// TextureUniform:16
- vec3 n_out16p0;
- float n_out16p1;
- {
- vec4 n_tex_read = texture(bar_texture, UV.xy);
- n_out16p0 = n_tex_read.rgb;
- n_out16p1 = n_tex_read.a;
- }
+ vec4 n_out19p0;
+// Texture2D:19
+ n_out19p0 = texture(bar_texture, UV);
+ float n_out19p4 = n_out19p0.a;
+
// VectorOp:17
- vec3 n_out17p0 = n_out15p0 * n_out16p0;
+ vec3 n_out17p0 = vec3(n_out15p0.xyz) * vec3(n_out19p0.xyz);
+
// Input:3
- vec3 n_out3p0 = vec3(UV, 0.0);
+ vec2 n_out3p0 = UV;
+
// VectorOp:4
vec3 n_in4p1 = vec3(10.00000, 1.00000, 0.00000);
- vec3 n_out4p0 = n_out3p0 * n_in4p1;
+ vec3 n_out4p0 = vec3(n_out3p0, 0.0) * n_in4p1;
+
// VectorOp:5
vec3 n_in5p1 = vec3(5.00000, 0.50000, 0.00000);
vec3 n_out5p0 = n_out4p0 - n_in5p1;
+
// VectorFunc:6
vec3 n_out6p0 = abs(n_out5p0);
-// VectorUniform:19
- vec3 n_out19p0 = cutout;
-// Compare:8
+// Vector3Parameter:20
+ vec3 n_out20p0 = cutout;
+
+
bool n_out8p0;
+// Compare:8
{
- bvec3 _bv = greaterThan(n_out6p0, n_out19p0);
+ bvec3 _bv = greaterThan(n_out6p0, n_out20p0);
n_out8p0 = any(_bv);
}
-// ScalarUniform:12
+
+// FloatParameter:12
float n_out12p0 = progress;
+
// VectorCompose:13
float n_in13p1 = 0.00000;
float n_in13p2 = 0.00000;
vec3 n_out13p0 = vec3(n_out12p0, n_in13p1, n_in13p2);
-// Compare:11
+
bool n_out11p0;
+// Compare:11
{
- bvec3 _bv = lessThan(n_out3p0, n_out13p0);
+ bvec3 _bv = lessThan(vec3(n_out3p0, 0.0), n_out13p0);
n_out11p0 = any(_bv);
}
-// ScalarOp:14
+
+// FloatOp:14
float n_out14p0 = max((n_out8p0 ? 1.0 : 0.0), (n_out11p0 ? 1.0 : 0.0));
-// ScalarOp:18
- float n_out18p0 = n_out16p1 * n_out14p0;
+
+// FloatOp:18
+ float n_out18p0 = n_out19p4 * n_out14p0;
+
// Output:0
ALBEDO = n_out17p0;
ALPHA = n_out18p0;
-}
-
-void light() {
-// Output:0
}
"
-graph_offset = Vector2( -195.354, 305.623 )
+graph_offset = Vector2(-744.269, 307.118)
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 1220, 440 )
-nodes/fragment/3/node = SubResource( 10 )
-nodes/fragment/3/position = Vector2( -320, 580 )
-nodes/fragment/4/node = SubResource( 11 )
-nodes/fragment/4/position = Vector2( -120, 460 )
-nodes/fragment/5/node = SubResource( 12 )
-nodes/fragment/5/position = Vector2( 60, 460 )
-nodes/fragment/6/node = SubResource( 13 )
-nodes/fragment/6/position = Vector2( 260, 480 )
-nodes/fragment/8/node = SubResource( 15 )
-nodes/fragment/8/position = Vector2( 500, 480 )
-nodes/fragment/11/node = SubResource( 5 )
-nodes/fragment/11/position = Vector2( 500, 780 )
-nodes/fragment/12/node = SubResource( 6 )
-nodes/fragment/12/position = Vector2( -40, 820 )
-nodes/fragment/13/node = SubResource( 7 )
-nodes/fragment/13/position = Vector2( 280, 940 )
-nodes/fragment/14/node = SubResource( 8 )
-nodes/fragment/14/position = Vector2( 743.56, 671.244 )
-nodes/fragment/15/node = SubResource( 9 )
-nodes/fragment/15/position = Vector2( 640, 260 )
-nodes/fragment/16/node = SubResource( 17 )
-nodes/fragment/16/position = Vector2( 720, 440 )
-nodes/fragment/17/node = SubResource( 18 )
-nodes/fragment/17/position = Vector2( 980, 340 )
-nodes/fragment/18/node = SubResource( 19 )
-nodes/fragment/18/position = Vector2( 980, 560 )
-nodes/fragment/19/node = SubResource( 20 )
-nodes/fragment/19/position = Vector2( 160, 620 )
-nodes/fragment/connections = PoolIntArray( 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 16, 0, 17, 1, 17, 0, 0, 0, 16, 1, 18, 0, 18, 0, 0, 1, 14, 0, 18, 1, 19, 0, 8, 1 )
+nodes/fragment/0/position = Vector2(1220, 440)
+nodes/fragment/3/node = SubResource("10")
+nodes/fragment/3/position = Vector2(-1020, 580)
+nodes/fragment/4/node = SubResource("11")
+nodes/fragment/4/position = Vector2(-620, 400)
+nodes/fragment/5/node = SubResource("12")
+nodes/fragment/5/position = Vector2(-440, 400)
+nodes/fragment/6/node = SubResource("13")
+nodes/fragment/6/position = Vector2(-240, 420)
+nodes/fragment/8/node = SubResource("15")
+nodes/fragment/8/position = Vector2(240, 460)
+nodes/fragment/11/node = SubResource("5")
+nodes/fragment/11/position = Vector2(240, 860)
+nodes/fragment/12/node = SubResource("6")
+nodes/fragment/12/position = Vector2(-640, 980)
+nodes/fragment/13/node = SubResource("7")
+nodes/fragment/13/position = Vector2(-280, 960)
+nodes/fragment/14/node = SubResource("8")
+nodes/fragment/14/position = Vector2(480, 680)
+nodes/fragment/15/node = SubResource("9")
+nodes/fragment/15/position = Vector2(580, -40)
+nodes/fragment/16/node = SubResource("17")
+nodes/fragment/16/position = Vector2(40, -100)
+nodes/fragment/17/node = SubResource("18")
+nodes/fragment/17/position = Vector2(980, 80)
+nodes/fragment/18/node = SubResource("19")
+nodes/fragment/18/position = Vector2(940, 500)
+nodes/fragment/19/node = SubResource("VisualShaderNodeTexture_hpnli")
+nodes/fragment/19/position = Vector2(480, 260)
+nodes/fragment/20/node = SubResource("VisualShaderNodeVec3Parameter_fhc2j")
+nodes/fragment/20/position = Vector2(-280, 600)
+nodes/fragment/connections = PackedInt32Array(3, 0, 4, 0, 4, 0, 5, 0, 5, 0, 6, 0, 6, 0, 8, 0, 3, 0, 11, 0, 13, 0, 11, 1, 12, 0, 13, 0, 8, 0, 14, 0, 11, 0, 14, 1, 15, 0, 17, 0, 17, 0, 0, 0, 18, 0, 0, 1, 14, 0, 18, 1, 16, 0, 19, 2, 19, 4, 18, 0, 19, 0, 17, 1, 20, 0, 8, 1)
diff --git a/addons/godot-xr-tools/staging/scene_base.gd b/addons/godot-xr-tools/staging/scene_base.gd
index 8ff598e1..872c67e4 100644
--- a/addons/godot-xr-tools/staging/scene_base.gd
+++ b/addons/godot-xr-tools/staging/scene_base.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsSceneBase
-extends Spatial
+extends Node3D
## Introduction
#
@@ -35,48 +35,50 @@ signal request_reset_scene
# Here we set the environment we need to set as our world environment
# once our scene is loaded.
-export var environment : Environment
+@export var environment : Environment
## Interface
+func _ready() -> void:
+ pass
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsSceneBase" or .is_class(name)
-
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsSceneBase"
-func center_player_on(p_transform : Transform):
+func center_player_on(p_transform : Transform3D):
# In order to center our player so the players feet are at the location
# indicated by p_transform, and having our player looking in the required
# direction, we must offset this transform using the cameras transform.
# So we get our current camera transform in local space
- var camera_transform = $ARVROrigin/ARVRCamera.transform
+ var camera_transform = $XROrigin3D/XRCamera3D.transform
# We obtain our view direction and zero out our height
var view_direction = camera_transform.basis.z
view_direction.y = 0
# Now create the transform that we will use to offset our input with
- var transform : Transform
+ var transform : Transform3D
transform = transform.looking_at(-view_direction, Vector3.UP)
transform.origin = camera_transform.origin
transform.origin.y = 0
# And now update our origin point
- $ARVROrigin.global_transform = (p_transform * transform.inverse()).orthonormalized()
+ $XROrigin3D.global_transform = (p_transform * transform.inverse()).orthonormalized()
func scene_loaded():
# Called after scene is loaded
# Make sure our camera becomes the current camera
- $ARVROrigin/ARVRCamera.current = true
+ $XROrigin3D/XRCamera3D.current = true
+ $XROrigin3D.current = true
# Center our player on our origin point
- # Note, this means you can place the ARVROrigin point in the start
+ # Note, this means you can place the XROrigin3D point in the start
# position where you want the player to spawn, even if the player is
# physically halfway across the room.
- center_player_on($ARVROrigin.global_transform)
+ center_player_on($XROrigin3D.global_transform)
func scene_visible():
# Called after the scene becomes fully visible
diff --git a/addons/godot-xr-tools/staging/scene_base.tscn b/addons/godot-xr-tools/staging/scene_base.tscn
index b1a3da67..6d04f77d 100644
--- a/addons/godot-xr-tools/staging/scene_base.tscn
+++ b/addons/godot-xr-tools/staging/scene_base.tscn
@@ -1,21 +1,24 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://qbmx03iibuuu"]
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.gd" type="Script" id=1]
-[ext_resource path="res://default_env.tres" type="Environment" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/scene_base.gd" id="1"]
+[ext_resource type="Environment" uid="uid://c75hc5t2ml5re" path="res://default_env.tres" id="2"]
-[node name="SceneBase" type="Spatial"]
-script = ExtResource( 1 )
-environment = ExtResource( 2 )
+[node name="SceneBase" type="Node3D"]
+script = ExtResource("1")
+environment = ExtResource("2")
-[node name="ARVROrigin" type="ARVROrigin" parent="."]
+[node name="XROrigin3D" type="XROrigin3D" parent="."]
-[node name="ARVRCamera" type="ARVRCamera" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0 )
+[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0)
far = 300.0
-[node name="LeftHand" type="ARVRController" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5 )
+[node name="LeftHand" type="XRController3D" parent="XROrigin3D"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5)
+tracker = &"left_hand"
+pose = &"aim"
-[node name="RightHand" type="ARVRController" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 )
-controller_id = 2
+[node name="RightHand" type="XRController3D" parent="XROrigin3D"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5)
+tracker = &"right_hand"
+pose = &"aim"
diff --git a/addons/godot-xr-tools/staging/staging.gd b/addons/godot-xr-tools/staging/staging.gd
index 543d115f..324e525e 100644
--- a/addons/godot-xr-tools/staging/staging.gd
+++ b/addons/godot-xr-tools/staging/staging.gd
@@ -1,6 +1,6 @@
-tool
+@tool
class_name XRToolsStaging
-extends Spatial
+extends Node3D
## XR Tools Staging
@@ -48,10 +48,10 @@ signal xr_ended
## Main scene file
-export (String, FILE, '*.tscn') var main_scene : String
+@export_file('*.tscn') var main_scene : String
## If true, the player is prompted to continue
-export var prompt_for_continue : bool = true
+@export var prompt_for_continue : bool = true
# Current scene
@@ -60,6 +60,9 @@ var current_scene : XRToolsSceneBase
# Current scene path
var current_scene_path : String
+# Tween for fading
+var _tween : Tween
+
## WorldEnvironment
##
@@ -70,74 +73,69 @@ var current_scene_path : String
## scenes. Instead we will obtain the environment from our demo
## scene and manage it here. Our world environment at the start
## belongs to our loading screen and we need to keep a copy.
-onready var loading_screen_environment = $WorldEnvironment.environment
-
-## Resource queue for loading resources
-onready var resource_queue = XRToolsResourceQueue.new()
+@onready var loading_screen_environment = $WorldEnvironment.environment
## XR Origin
-onready var arvr_origin : ARVROrigin = ARVRHelpers.get_arvr_origin(self)
+@onready var xr_origin : XROrigin3D = XRHelpers.get_xr_origin(self)
## XR Camera
-onready var arvr_camera : ARVRCamera = ARVRHelpers.get_arvr_camera(self)
+@onready var xr_camera : XRCamera3D = XRHelpers.get_xr_camera(self)
func _ready():
# Do not initialise if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
# Specify the camera to track
- if arvr_camera:
- $LoadingScreen.set_camera(arvr_camera)
-
- # Start our resource loader
- resource_queue.start()
+ if xr_camera:
+ $LoadingScreen.set_camera(xr_camera)
# We start by loading our main level scene
load_scene(main_scene)
# Verifies our staging has a valid configuration.
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
# Report missing XR Origin
- var test_origin : ARVROrigin = ARVRHelpers.get_arvr_origin(self)
+ var test_origin : XROrigin3D = XRHelpers.get_xr_origin(self)
if !test_origin:
- return "No ARVROrigin node found, please add one"
+ warnings.append("No XROrigin3D node found, please add one")
# Report missing XR Camera
- var test_camera : ARVRCamera = ARVRHelpers.get_arvr_camera(self)
+ var test_camera : XRCamera3D = XRHelpers.get_xr_camera(self)
if !test_camera:
- return "No ARVRCamera node found, please add one to your ARVROrigin node"
+ warnings.append("No XRCamera3D node found, please add one to your XROrigin3D node")
# Report main scene not specified
if main_scene == "":
- return "No main scene selected"
+ warnings.append("No main scene selected")
# Report main scene invalid
- var file = File.new()
- if !file.file_exists(main_scene):
- return "Main scene doesn't exist"
+ if !FileAccess.file_exists(main_scene):
+ warnings.append("Main scene doesn't exist")
- # Passed validation
- return ""
+ # Return warnings
+ return warnings
-# Add support for is_class on XRTools classes
-func is_class(name : String) -> bool:
- return name == "XRToolsStaging" or .is_class(name)
+# Add support for is_xr_class on XRTools classes
+func is_xr_class(name : String) -> bool:
+ return name == "XRToolsStaging"
## Load the specified scene
func load_scene(p_scene_path : String) -> void:
# Do not load if in the editor
- if Engine.editor_hint:
+ if Engine.is_editor_hint():
return
- if !arvr_origin:
+ if !xr_origin:
return
- if !arvr_camera:
+ if !xr_camera:
return
if current_scene:
@@ -150,10 +148,11 @@ func load_scene(p_scene_path : String) -> void:
_remove_signals(current_scene)
# Fade to black
- $Tween.remove_all()
- $Tween.interpolate_method(self, "set_fade", 0.0, 1.0, 1.0)
- $Tween.start()
- yield($Tween, "tween_all_completed")
+ if _tween:
+ _tween.kill()
+ _tween = get_tree().create_tween()
+ _tween.tween_method(set_fade, 0.0, 1.0, 1.0)
+ await _tween.finished
# Now we remove our scene
emit_signal("scene_exiting", current_scene)
@@ -163,8 +162,9 @@ func load_scene(p_scene_path : String) -> void:
current_scene = null
# Make our loading screen visible again and reset some stuff
- arvr_origin.set_process_internal(true)
- arvr_camera.current = true
+ xr_origin.set_process_internal(true)
+ xr_origin.current = true
+ xr_camera.current = true
$WorldEnvironment.environment = loading_screen_environment
$LoadingScreen.progress = 0.0
$LoadingScreen.enable_press_to_continue = false
@@ -173,58 +173,73 @@ func load_scene(p_scene_path : String) -> void:
emit_signal("switching_to_loading_scene")
# Fade to visible
- $Tween.remove_all()
- $Tween.interpolate_method(self, "set_fade", 1.0, 0.0, 1.0)
- $Tween.start()
- yield($Tween, "tween_all_completed")
+ if _tween:
+ _tween.kill()
+ _tween = get_tree().create_tween()
+ _tween.tween_method(set_fade, 1.0, 0.0, 1.0)
+ await _tween.finished
+
+ # Load the new scene
+ var new_scene : PackedScene
+ if ResourceLoader.has_cached(p_scene_path):
+ # Load cached scene
+ new_scene = ResourceLoader.load(p_scene_path)
+ else:
+ # Start the loading in a thread
+ ResourceLoader.load_threaded_request(p_scene_path)
- # Attempt to load our scene
- resource_queue.queue_resource(p_scene_path)
- while !resource_queue.is_ready(p_scene_path):
- # wait a bit
- yield(get_tree().create_timer(0.3), "timeout")
+ # Loop waiting for the scene to load
+ while true:
+ var progress := []
+ var res := ResourceLoader.load_threaded_get_status(p_scene_path, progress)
+ if res != ResourceLoader.THREAD_LOAD_IN_PROGRESS:
+ break;
- $LoadingScreen.progress = resource_queue.get_progress(p_scene_path)
+ $LoadingScreen.progress = progress[0]
+ await get_tree().create_timer(0.1).timeout
- var new_scene : PackedScene = resource_queue.get_resource(p_scene_path)
+ # Get the loaded scene
+ new_scene = ResourceLoader.load_threaded_get(p_scene_path)
# Wait for user to be ready
if prompt_for_continue:
$LoadingScreen.enable_press_to_continue = true
- yield($LoadingScreen, "continue_pressed")
+ await $LoadingScreen.continue_pressed
# Fade to black
- $Tween.remove_all()
- $Tween.interpolate_method(self, "set_fade", 0.0, 1.0, 1.0)
- $Tween.start()
- yield($Tween, "tween_all_completed")
+ if _tween:
+ _tween.kill()
+ _tween = get_tree().create_tween()
+ _tween.tween_method(set_fade, 0.0, 1.0, 1.0)
+ await _tween.finished
# Hide our loading screen
$LoadingScreen.follow_camera = false
$LoadingScreen.visible = false
- # Turn off internal process on our ARVROrigin node, the internal process
- # of our ARVROrigin will submit its positioning data to the ARVRServer.
- # With two ARVROrigin nodes we'll get competing data.
- arvr_origin.set_process_internal(false)
+ # Turn off internal process on our FPController, the internal process
+ # of our XROrigin3D will submit its positioning data to the XRServer.
+ # With two XROrigin3D nodes we'll get competing data.
+ xr_origin.set_process_internal(false)
# Setup our new scene
- current_scene = new_scene.instance()
+ current_scene = new_scene.instantiate()
current_scene_path = p_scene_path
$Scene.add_child(current_scene)
$WorldEnvironment.environment = current_scene.environment
_add_signals(current_scene)
# We create a small delay here to give tracking some time to update our nodes...
- yield(get_tree().create_timer(0.1), "timeout")
+ await get_tree().create_timer(0.1).timeout
current_scene.scene_loaded()
emit_signal("scene_loaded", current_scene)
# Fade to visible
- $Tween.remove_all()
- $Tween.interpolate_method(self, "set_fade", 1.0, 0.0, 1.0)
- $Tween.start()
- yield($Tween, "tween_all_completed")
+ if _tween:
+ _tween.kill()
+ _tween = get_tree().create_tween()
+ _tween.tween_method(set_fade, 1.0, 0.0, 1.0)
+ await _tween.finished
current_scene.scene_visible()
emit_signal("scene_visible", current_scene)
@@ -239,22 +254,22 @@ func set_fade(p_value : float):
if p_value == 0.0:
$Fade.visible = false
else:
- var material : ShaderMaterial = $Fade.get_surface_material(0)
+ var material : ShaderMaterial = $Fade.get_surface_override_material(0)
if material:
- material.set_shader_param("alpha", p_value)
+ material.set_shader_parameter("alpha", p_value)
$Fade.visible = true
func _add_signals(p_scene : XRToolsSceneBase):
- p_scene.connect("request_exit_to_main_menu", self, "_on_exit_to_main_menu")
- p_scene.connect("request_load_scene", self, "_on_load_scene")
- p_scene.connect("request_reset_scene", self, "_on_reset_scene")
+ p_scene.connect("request_exit_to_main_menu", _on_exit_to_main_menu)
+ p_scene.connect("request_load_scene", _on_load_scene)
+ p_scene.connect("request_reset_scene", _on_reset_scene)
func _remove_signals(p_scene : XRToolsSceneBase):
- p_scene.disconnect("request_exit_to_main_menu", self, "_on_exit_to_main_menu")
- p_scene.disconnect("request_load_scene", self, "_on_load_scene")
- p_scene.disconnect("request_reset_scene", self, "_on_reset_scene")
+ p_scene.disconnect("request_exit_to_main_menu", _on_exit_to_main_menu)
+ p_scene.disconnect("request_load_scene", _on_load_scene)
+ p_scene.disconnect("request_reset_scene", _on_reset_scene)
func _on_exit_to_main_menu():
diff --git a/addons/godot-xr-tools/staging/staging.tscn b/addons/godot-xr-tools/staging/staging.tscn
index 307fa1f2..f6c15447 100644
--- a/addons/godot-xr-tools/staging/staging.tscn
+++ b/addons/godot-xr-tools/staging/staging.tscn
@@ -1,57 +1,58 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=10 format=3 uid="uid://bnqnnnet4dw12"]
-[ext_resource path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/staging/staging.gd" type="Script" id=2]
-[ext_resource path="res://addons/godot-xr-tools/staging/loading_screen.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/staging/fade.gdshader" type="Shader" id=4]
-[ext_resource path="res://addons/godot-xr-tools/xr/start_xr.tscn" type="PackedScene" id=5]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/staging/staging.gd" id="1"]
+[ext_resource type="PackedScene" uid="uid://bqumugyvkct4r" path="res://addons/godot-xr-tools/staging/loading_screen.tscn" id="2"]
+[ext_resource type="Shader" path="res://addons/godot-xr-tools/staging/fade.gdshader" id="4"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/misc/vr_common_shader_cache.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://clc5dre31iskm" path="res://addons/godot-xr-tools/xr/start_xr.tscn" id="6_balvx"]
-[sub_resource type="QuadMesh" id=4]
-custom_aabb = AABB( -5000, -5000, -5000, 10000, 10000, 10000 )
-size = Vector2( 2, 2 )
+[sub_resource type="QuadMesh" id="4"]
+custom_aabb = AABB(-5000, -5000, -5000, 10000, 10000, 10000)
+size = Vector2(2, 2)
-[sub_resource type="ShaderMaterial" id=3]
-shader = ExtResource( 4 )
-shader_param/alpha = 0.0
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_snlak"]
+render_priority = 0
+shader = ExtResource("4")
+shader_parameter/alpha = null
-[sub_resource type="ProceduralSky" id=1]
+[sub_resource type="Sky" id="1"]
-[sub_resource type="Environment" id=2]
+[sub_resource type="Environment" id="2"]
background_mode = 1
-background_sky = SubResource( 1 )
+sky = SubResource("1")
-[node name="Staging" type="Spatial"]
-script = ExtResource( 2 )
+[node name="Staging" type="Node3D"]
+script = ExtResource("1")
+main_scene = ""
-[node name="Fade" type="MeshInstance" parent="."]
-mesh = SubResource( 4 )
-material/0 = SubResource( 3 )
+[node name="Fade" type="MeshInstance3D" parent="."]
+mesh = SubResource("4")
+surface_material_override/0 = SubResource("ShaderMaterial_snlak")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
-environment = SubResource( 2 )
+environment = SubResource("2")
-[node name="LoadingScreen" parent="." instance=ExtResource( 3 )]
-progress = 0.0
-
-[node name="Scene" type="Spatial" parent="."]
+[node name="XROrigin3D" type="XROrigin3D" parent="."]
-[node name="Tween" type="Tween" parent="."]
+[node name="XRCamera3D" type="XRCamera3D" parent="XROrigin3D"]
-[node name="ARVROrigin" type="ARVROrigin" parent="."]
+[node name="VRCommonShaderCache" parent="XROrigin3D/XRCamera3D" instance=ExtResource("5")]
-[node name="ARVRCamera" type="ARVRCamera" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0 )
+[node name="LeftHandController" type="XRController3D" parent="XROrigin3D"]
+tracker = &"left_hand"
+pose = &"aim"
-[node name="VRCommonShaderCache" parent="ARVROrigin/ARVRCamera" instance=ExtResource( 1 )]
+[node name="RightHandController" type="XRController3D" parent="XROrigin3D"]
+tracker = &"right_hand"
+pose = &"aim"
-[node name="LeftHand" type="ARVRController" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 1, -0.5 )
+[node name="LoadingScreen" parent="." instance=ExtResource("2")]
+progress = 0.0
-[node name="RightHand" type="ARVRController" parent="ARVROrigin"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 )
-controller_id = 2
+[node name="Scene" type="Node3D" parent="."]
-[node name="StartXR" parent="." instance=ExtResource( 5 )]
+[node name="StartXR" parent="." instance=ExtResource("6_balvx")]
+physics_rate_multiplier = 1
[connection signal="xr_ended" from="StartXR" to="." method="_on_StartXR_xr_ended"]
[connection signal="xr_started" from="StartXR" to="." method="_on_StartXR_xr_started"]
diff --git a/addons/godot-xr-tools/user_settings/user_settings.gd b/addons/godot-xr-tools/user_settings/user_settings.gd
index d3a9c428..8f355dab 100644
--- a/addons/godot-xr-tools/user_settings/user_settings.gd
+++ b/addons/godot-xr-tools/user_settings/user_settings.gd
@@ -1,19 +1,40 @@
extends Node
+## Emitted when the WebXR primary is changed (either by the user or auto detected).
+signal webxr_primary_changed (value)
+
+
+enum WebXRPrimary {
+ AUTO,
+ THUMBSTICK,
+ TRACKPAD,
+}
+
+
## User setting for snap-turn
-export var snap_turning : bool = true
+@export var snap_turning : bool = true
## User setting for player height adjust
-export var player_height_adjust : float = 0.0 setget set_player_height_adjust
+@export var player_height_adjust : float = 0.0: set = set_player_height_adjust
+
+## User setting for WebXR primary
+@export var webxr_primary : WebXRPrimary = WebXRPrimary.AUTO: set = set_webxr_primary
## Settings file name to persist user settings
var settings_file_name : String = "user://xtools_user_settings.json"
+## Records the first input to generate input (thumbstick or trackpad).
+var webxr_auto_primary := 0
+
# Called when the node enters the scene tree for the first time.
func _ready():
+ var webxr_interface = XRServer.find_interface("WebXR")
+ if webxr_interface:
+ XRServer.tracker_added.connect(self._on_webxr_tracker_added)
+
_load()
@@ -22,6 +43,8 @@ func reset_to_defaults() -> void:
# Reset to defaults
snap_turning = XRTools.get_default_snap_turning()
player_height_adjust = 0.0
+ webxr_primary = WebXRPrimary.AUTO
+ webxr_auto_primary = 0
## Set the player height adjust property
@@ -29,29 +52,58 @@ func set_player_height_adjust(new_value : float) -> void:
player_height_adjust = clamp(new_value, -1.0, 1.0)
+## Set the WebXR primary
+func set_webxr_primary(new_value : WebXRPrimary) -> void:
+ webxr_primary = new_value
+ if webxr_primary == WebXRPrimary.AUTO:
+ if webxr_auto_primary == 0:
+ # Don't emit the signal yet, wait until we detect which to use.
+ pass
+ else:
+ webxr_primary_changed.emit(webxr_auto_primary)
+ else:
+ webxr_primary_changed.emit(webxr_primary)
+
+
+## Gets the WebXR primary (taking into account auto detection).
+func get_real_webxr_primary() -> WebXRPrimary:
+ if webxr_primary == WebXRPrimary.AUTO:
+ return webxr_auto_primary
+ return webxr_primary
+
+
## Save the settings to file
func save() -> void:
- # Convert the settings to a dictionary
- var settings := {
+ # Construct the settings dictionary
+ var data = {
"input" : {
- "default_snap_turning" : snap_turning
+ "default_snap_turning" : snap_turning,
},
"player" : {
"height_adjust" : player_height_adjust
+ },
+ "webxr" : {
+ "webxr_primary" : webxr_primary,
}
}
- # Convert the settings dictionary to text
- var settings_text := to_json(settings)
+ # Save to file
+ var file := FileAccess.open(settings_file_name, FileAccess.WRITE)
+ if file:
+ file.store_line(JSON.stringify(data))
- # Attempt to open the settings file for writing
- var file := File.new()
- if file.open(settings_file_name, File.WRITE) != OK:
- return
- # Write the settings text to the file
- file.store_line(settings_text)
- file.close()
+## Get the action associated with a WebXR primary choice
+static func get_webxr_primary_action(primary : WebXRPrimary) -> String:
+ match primary:
+ WebXRPrimary.THUMBSTICK:
+ return "thumbstick"
+
+ WebXRPrimary.TRACKPAD:
+ return "trackpad"
+
+ _:
+ return "auto"
## Load the settings from file
@@ -59,34 +111,57 @@ func _load() -> void:
# First reset our values
reset_to_defaults()
- # Skip if no settings file found
- var file := File.new()
- if !file.file_exists(settings_file_name):
+ # Now attempt to load our settings file
+ if !FileAccess.file_exists(settings_file_name):
return
- # Attempt to open the settings file for reading
- if file.open(settings_file_name, File.READ) != OK:
- # File open failed with an error
+ # Attempt to open the file
+ var file := FileAccess.open(settings_file_name, FileAccess.READ)
+ if not file:
return
- # Read the settings text
- var settings_text := file.get_as_text()
- file.close()
-
- # Parse the settings text and verify it's a dictionary
- var settings_raw = parse_json(settings_text)
- if typeof(settings_raw) != TYPE_DICTIONARY:
+ # Read the file as text
+ var text = file.get_as_text()
+ if text.is_empty():
return
+ # Parse the settings dictionary
+ var data : Dictionary = JSON.parse_string(text)
+
# Parse our input settings
- var settings : Dictionary = settings_raw
- if settings.has("input"):
- var input : Dictionary = settings["input"]
+ if data.has("input"):
+ var input : Dictionary = data["input"]
if input.has("default_snap_turning"):
snap_turning = input["default_snap_turning"]
# Parse our player settings
- if settings.has("player"):
- var player : Dictionary = settings["player"]
+ if data.has("player"):
+ var player : Dictionary = data["player"]
if player.has("height_adjust"):
player_height_adjust = player["height_adjust"]
+
+ # Parse our WebXR settings
+ if data.has("webxr"):
+ var webxr : Dictionary = data["webxr"]
+ if webxr.has("webxr_primary"):
+ webxr_primary = webxr["webxr_primary"]
+
+
+## Used to connect to tracker events when using WebXR.
+func _on_webxr_tracker_added(tracker_name: StringName, _type: int) -> void:
+ if tracker_name == &"left_hand" or tracker_name == &"right_hand":
+ var tracker := XRServer.get_tracker(tracker_name)
+ tracker.input_vector2_changed.connect(self._on_webxr_vector2_changed)
+
+
+## Used to auto detect which "primary" input gets used first.
+func _on_webxr_vector2_changed(name: String, _vector: Vector2) -> void:
+ if webxr_auto_primary == 0:
+ if name == "thumbstick":
+ webxr_auto_primary = WebXRPrimary.THUMBSTICK
+ elif name == "trackpad":
+ webxr_auto_primary = WebXRPrimary.TRACKPAD
+
+ if webxr_auto_primary != 0:
+ # Let the developer know which one is chosen.
+ webxr_primary_changed.emit(webxr_auto_primary)
diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.gd b/addons/godot-xr-tools/user_settings/user_settings_ui.gd
index d071d6ba..da427dbb 100644
--- a/addons/godot-xr-tools/user_settings/user_settings_ui.gd
+++ b/addons/godot-xr-tools/user_settings/user_settings_ui.gd
@@ -1,18 +1,25 @@
extends TabContainer
-export (NodePath) var camera
+@export_node_path("XRCamera3D") var camera
-export var player_head_height : float = 0.1
+@export var player_head_height : float = 0.1
func _update():
# Input
- $Input/SnapTurning/SnapTurningCB.pressed = XRToolsUserSettings.snap_turning
+ $Input/SnapTurning/SnapTurningCB.button_pressed = XRToolsUserSettings.snap_turning
# Player
$Player/PlayerHeight/PlayerHeightSlider.value = XRToolsUserSettings.player_height_adjust
+ # WebXR
+ $WebXR/WebXR/WebXRPrimary.selected = XRToolsUserSettings.webxr_primary
+
+
# Called when the node enters the scene tree for the first time.
func _ready():
+ var webxr_interface = XRServer.find_interface("WebXR")
+ set_tab_hidden(2, webxr_interface == null)
+
if XRToolsUserSettings:
_update()
else:
@@ -32,7 +39,7 @@ func _on_Reset_pressed():
# Input settings changed
func _on_SnapTurningCB_pressed():
- XRToolsUserSettings.snap_turning = $Input/SnapTurning/SnapTurningCB.pressed
+ XRToolsUserSettings.snap_turning = $Input/SnapTurning/SnapTurningCB.button_pressed
# Player settings changed
func _on_PlayerHeightSlider_drag_ended(_value_changed):
@@ -40,7 +47,7 @@ func _on_PlayerHeightSlider_drag_ended(_value_changed):
func _on_PlayerHeightStandard_pressed():
- if !camera:
+ if camera.is_empty():
return
var camera_node = get_node_or_null(camera)
@@ -51,3 +58,7 @@ func _on_PlayerHeightStandard_pressed():
var height_adjust = XRTools.get_player_standard_height() - base_height
XRToolsUserSettings.player_height_adjust = height_adjust
$Player/PlayerHeight/PlayerHeightSlider.value = XRToolsUserSettings.player_height_adjust
+
+
+func _on_web_xr_primary_item_selected(index: int) -> void:
+ XRToolsUserSettings.webxr_primary = index
diff --git a/addons/godot-xr-tools/user_settings/user_settings_ui.tscn b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn
index 898b76b1..f0300d56 100644
--- a/addons/godot-xr-tools/user_settings/user_settings_ui.tscn
+++ b/addons/godot-xr-tools/user_settings/user_settings_ui.tscn
@@ -1,136 +1,133 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://ytsxet2k47lj"]
-[ext_resource path="res://addons/godot-xr-tools/user_settings/user_settings_ui.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/user_settings/user_settings_ui.gd" id="1"]
[node name="UserSettingsUI" type="TabContainer"]
-rect_min_size = Vector2( 250, 200 )
-tab_align = 0
-script = ExtResource( 1 )
+offset_right = 214.0
+offset_bottom = 126.0
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_font_sizes/font_size = 12
+script = ExtResource("1")
[node name="Input" type="VBoxContainer" parent="."]
-visible = false
-anchor_right = 1.0
-anchor_bottom = 1.0
-margin_left = 4.0
-margin_top = 32.0
-margin_right = -4.0
-margin_bottom = -4.0
+layout_mode = 2
[node name="SnapTurning" type="HBoxContainer" parent="Input"]
-margin_right = 242.0
-margin_bottom = 24.0
+layout_mode = 2
[node name="Label" type="Label" parent="Input/SnapTurning"]
-margin_top = 1.0
-margin_right = 100.0
-margin_bottom = 22.0
-rect_min_size = Vector2( 100, 21 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Snap turning:"
-align = 2
-valign = 1
[node name="SnapTurningCB" type="CheckBox" parent="Input/SnapTurning"]
-margin_left = 104.0
-margin_right = 128.0
-margin_bottom = 24.0
+layout_mode = 2
[node name="HSeparator" type="HSeparator" parent="Input"]
-margin_top = 28.0
-margin_right = 242.0
-margin_bottom = 32.0
+layout_mode = 2
[node name="Buttons" type="HBoxContainer" parent="Input"]
-margin_top = 36.0
-margin_right = 242.0
-margin_bottom = 61.0
-custom_constants/separation = 10
+layout_mode = 2
alignment = 1
[node name="Save" type="Button" parent="Input/Buttons"]
-margin_left = 41.0
-margin_right = 116.0
-margin_bottom = 25.0
-rect_min_size = Vector2( 75, 25 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Apply"
[node name="Reset" type="Button" parent="Input/Buttons"]
-margin_left = 126.0
-margin_right = 201.0
-margin_bottom = 25.0
-rect_min_size = Vector2( 75, 25 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Reset"
[node name="Player" type="VBoxContainer" parent="."]
-anchor_right = 1.0
-anchor_bottom = 1.0
-margin_left = 4.0
-margin_top = 32.0
-margin_right = -4.0
-margin_bottom = -4.0
+visible = false
+layout_mode = 2
[node name="PlayerHeight" type="HBoxContainer" parent="Player"]
-margin_right = 242.0
-margin_bottom = 21.0
+layout_mode = 2
[node name="Label" type="Label" parent="Player/PlayerHeight"]
-margin_right = 100.0
-margin_bottom = 21.0
-rect_min_size = Vector2( 100, 21 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Height adjust:"
-align = 2
-valign = 1
[node name="PlayerHeightSlider" type="HSlider" parent="Player/PlayerHeight"]
-margin_left = 104.0
-margin_right = 229.0
-margin_bottom = 16.0
-rect_min_size = Vector2( 125, 0 )
+layout_mode = 2
+size_flags_horizontal = 3
min_value = -1.0
max_value = 1.0
step = 0.1
[node name="PlayerHeightCalc" type="HBoxContainer" parent="Player"]
-margin_top = 25.0
-margin_right = 242.0
-margin_bottom = 50.0
+layout_mode = 2
[node name="Label" type="Label" parent="Player/PlayerHeightCalc"]
-margin_top = 5.0
-margin_right = 100.0
-margin_bottom = 19.0
-rect_min_size = Vector2( 100, 0 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
[node name="PlayerHeightStandard" type="Button" parent="Player/PlayerHeightCalc"]
-margin_left = 104.0
-margin_right = 229.0
-margin_bottom = 25.0
-rect_min_size = Vector2( 125, 25 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Set to standard"
[node name="HSeparator" type="HSeparator" parent="Player"]
-margin_top = 54.0
-margin_right = 242.0
-margin_bottom = 58.0
+layout_mode = 2
[node name="Buttons" type="HBoxContainer" parent="Player"]
-margin_top = 62.0
-margin_right = 242.0
-margin_bottom = 87.0
-custom_constants/separation = 10
+layout_mode = 2
alignment = 1
[node name="Save" type="Button" parent="Player/Buttons"]
-margin_left = 41.0
-margin_right = 116.0
-margin_bottom = 25.0
-rect_min_size = Vector2( 75, 25 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Apply"
[node name="Reset" type="Button" parent="Player/Buttons"]
-margin_left = 126.0
-margin_right = 201.0
-margin_bottom = 25.0
-rect_min_size = Vector2( 75, 25 )
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
+text = "Reset"
+
+[node name="WebXR" type="VBoxContainer" parent="."]
+visible = false
+layout_mode = 2
+
+[node name="WebXR" type="HBoxContainer" parent="WebXR"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="WebXR/WebXR"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
+text = "WebXR primary:"
+
+[node name="WebXRPrimary" type="OptionButton" parent="WebXR/WebXR"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
+item_count = 3
+selected = 0
+popup/item_0/text = "Auto"
+popup/item_0/id = 0
+popup/item_1/text = "Thumbstick"
+popup/item_1/id = 1
+popup/item_2/text = "Trackpad"
+popup/item_2/id = 2
+
+[node name="HSeparator" type="HSeparator" parent="WebXR"]
+layout_mode = 2
+
+[node name="Buttons" type="HBoxContainer" parent="WebXR"]
+layout_mode = 2
+alignment = 1
+
+[node name="Save" type="Button" parent="WebXR/Buttons"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
+text = "Apply"
+
+[node name="Reset" type="Button" parent="WebXR/Buttons"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 12
text = "Reset"
[connection signal="pressed" from="Input/SnapTurning/SnapTurningCB" to="." method="_on_SnapTurningCB_pressed"]
@@ -140,3 +137,6 @@ text = "Reset"
[connection signal="pressed" from="Player/PlayerHeightCalc/PlayerHeightStandard" to="." method="_on_PlayerHeightStandard_pressed"]
[connection signal="pressed" from="Player/Buttons/Save" to="." method="_on_Save_pressed"]
[connection signal="pressed" from="Player/Buttons/Reset" to="." method="_on_Reset_pressed"]
+[connection signal="item_selected" from="WebXR/WebXR/WebXRPrimary" to="." method="_on_web_xr_primary_item_selected"]
+[connection signal="pressed" from="WebXR/Buttons/Save" to="." method="_on_Save_pressed"]
+[connection signal="pressed" from="WebXR/Buttons/Reset" to="." method="_on_Reset_pressed"]
diff --git a/addons/godot-xr-tools/xr/start_xr.gd b/addons/godot-xr-tools/xr/start_xr.gd
index f9fae2ac..b7cbce11 100644
--- a/addons/godot-xr-tools/xr/start_xr.gd
+++ b/addons/godot-xr-tools/xr/start_xr.gd
@@ -1,4 +1,4 @@
-tool
+@tool
class_name XRToolsStartXR
extends Node
@@ -27,52 +27,43 @@ signal xr_ended
## If true, the XR interface is automatically initialized
-export var auto_initialize : bool = true
-
-## Adjusts the pixel density on the rendering target
-export var render_target_size_multiplier : float = 1.0
+@export var auto_initialize : bool = true
## If true, the XR passthrough is enabled (OpenXR only)
-export var enable_passthrough : bool = false setget _set_enable_passthrough
+@export var enable_passthrough : bool = false: set = _set_enable_passthrough
## Physics rate multiplier compared to HMD frame rate
-export var physics_rate_multiplier : int = 1
+@export var physics_rate_multiplier : int = 1
## If non-zero, specifies the target refresh rate
-export var target_refresh_rate : float = 0
+@export var target_refresh_rate : float = 0
## Current XR interface
-var xr_interface : ARVRInterface
+var xr_interface : XRInterface
## XR active flag
var xr_active : bool = false
-# OpenXR configuration (of type OpenXRConfig.gdns)
-var _openxr_configuration
-
-# OpenXR enabled extensions
-var _openxr_enabled_extensions : Array
-
# Current refresh rate
var _current_refresh_rate : float = 0
# Handle auto-initialization when ready
func _ready() -> void:
- if !Engine.editor_hint and auto_initialize:
+ if !Engine.is_editor_hint() and auto_initialize:
initialize()
## Initialize the XR interface
func initialize() -> bool:
# Check for OpenXR interface
- xr_interface = ARVRServer.find_interface('OpenXR')
+ xr_interface = XRServer.find_interface('OpenXR')
if xr_interface:
return _setup_for_openxr()
# Check for WebXR interface
- xr_interface = ARVRServer.find_interface('WebXR')
+ xr_interface = XRServer.find_interface('WebXR')
if xr_interface:
return _setup_for_webxr()
@@ -83,56 +74,40 @@ func initialize() -> bool:
# Check for configuration issues
-func _get_configuration_warning():
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings := PackedStringArray()
+
if physics_rate_multiplier < 1:
- return "Physics rate multiplier should be at least 1x the HMD rate"
+ warnings.append("Physics rate multiplier should be at least 1x the HMD rate")
- return ""
+ return warnings
# Perform OpenXR setup
func _setup_for_openxr() -> bool:
print("OpenXR: Configuring interface")
- # Load the OpenXR configuration resource
- var openxr_config_res := load("res://addons/godot-openxr/config/OpenXRConfig.gdns")
- if not openxr_config_res:
- push_error("OpenXR: Unable to load OpenXRConfig.gdns")
- return false
-
- # Create the OpenXR configuration class
- _openxr_configuration = openxr_config_res.new()
-
- # Set the render target size multiplier - must be done befor initializing interface
- _openxr_configuration.render_target_size_multiplier = render_target_size_multiplier
-
# Initialize the OpenXR interface
- if not xr_interface.interface_is_initialized:
+ if not xr_interface.is_initialized():
print("OpenXR: Initializing interface")
if not xr_interface.initialize():
push_error("OpenXR: Failed to initialize")
return false
- # Print the system name
- print("OpenXR: System name: ", _openxr_configuration.get_system_name())
-
# Connect the OpenXR events
- ARVRServer.connect("openxr_session_begun", self, "_on_openxr_session_begun")
- ARVRServer.connect("openxr_visible_state", self, "_on_openxr_visible_state")
- ARVRServer.connect("openxr_focused_state", self, "_on_openxr_focused_state")
-
- # Read the OpenXR enabled extensions
- _openxr_enabled_extensions = _openxr_configuration.get_enabled_extensions()
+ xr_interface.connect("session_begun", _on_openxr_session_begun)
+ xr_interface.connect("session_visible", _on_openxr_visible_state)
+ xr_interface.connect("session_focussed", _on_openxr_focused_state)
# Check for passthrough
- if enable_passthrough and _openxr_is_passthrough_supported():
- enable_passthrough = _openxr_start_passthrough()
+ if enable_passthrough and xr_interface.is_passthrough_supported():
+ enable_passthrough = xr_interface.start_passthrough()
# Disable vsync
- OS.vsync_enabled = false
+ DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
# Switch the viewport to XR
- get_viewport().arvr = true
+ get_viewport().use_xr = true
# Report success
return true
@@ -142,11 +117,8 @@ func _setup_for_openxr() -> bool:
func _on_openxr_session_begun() -> void:
print("OpenXR: Session begun")
- # Our interface will tell us whether we should keep our render buffer in linear color space
- get_viewport().keep_3d_linear = _openxr_configuration.keep_3d_linear()
-
# Get the reported refresh rate
- _current_refresh_rate = _openxr_configuration.get_refresh_rate()
+ _current_refresh_rate = xr_interface.get_display_refresh_rate()
if _current_refresh_rate > 0:
print("OpenXR: Refresh rate reported as ", str(_current_refresh_rate))
else:
@@ -154,7 +126,7 @@ func _on_openxr_session_begun() -> void:
# Pick a desired refresh rate
var desired_rate := target_refresh_rate if target_refresh_rate > 0 else _current_refresh_rate
- var available_rates : Array = _openxr_configuration.get_available_refresh_rates()
+ var available_rates : Array = xr_interface.get_available_display_refresh_rates()
if available_rates.size() == 0:
print("OpenXR: Target does not support refresh rate extension")
elif available_rates.size() == 1:
@@ -164,14 +136,14 @@ func _on_openxr_session_begun() -> void:
var rate = _find_closest(available_rates, desired_rate)
if rate > 0:
print("OpenXR: Setting refresh rate to ", str(rate))
- _openxr_configuration.set_refresh_rate(rate)
+ xr_interface.set_display_refresh_rate(rate)
_current_refresh_rate = rate
- # increase our physics engine update speed
+ # Pick a physics rate
var active_rate := _current_refresh_rate if _current_refresh_rate > 0 else 144.0
var physics_rate := int(round(active_rate * physics_rate_multiplier))
print("Setting physics rate to ", physics_rate)
- Engine.iterations_per_second = physics_rate
+ Engine.physics_ticks_per_second = physics_rate
# Handle OpenXR visible state
@@ -199,35 +171,12 @@ func _set_enable_passthrough(p_new_value : bool) -> void:
# Only actually start our passthrough if our interface has been instanced
# if not this will be delayed until initialise is successfully called.
- if xr_interface and _openxr_configuration:
+ if xr_interface:
if enable_passthrough:
# unset enable_passthrough if we can't start it.
- enable_passthrough = _openxr_start_passthrough()
+ enable_passthrough = xr_interface.start_passthrough()
else:
- _openxr_stop_passthrough()
-
-
-# Test if passthrough is supported
-func _openxr_is_passthrough_supported() -> bool:
- return _openxr_enabled_extensions.find("XR_FB_passthrough") >= 0
-
-
-# Start OpenXR passthrough
-func _openxr_start_passthrough() -> bool:
- # Set viewport transparent background
- get_viewport().transparent_bg = true
-
- # Enable passthrough
- return _openxr_configuration.start_passthrough()
-
-
-# Stop OpenXR passthrough
-func _openxr_stop_passthrough() -> void:
- # Clear viewport transparent background
- get_viewport().transparent_bg = false
-
- # Disable passthrough
- _openxr_configuration.stop_passthrough()
+ xr_interface.stop_passthrough()
# Perform WebXR setup
@@ -235,17 +184,17 @@ func _setup_for_webxr() -> bool:
print("WebXR: Configuring interface")
# Connect the WebXR events
- xr_interface.connect("session_supported", self, "_on_webxr_session_supported")
- xr_interface.connect("session_started", self, "_on_webxr_session_started")
- xr_interface.connect("session_ended", self, "_on_webxr_session_ended")
- xr_interface.connect("session_failed", self, "_on_webxr_session_failed")
+ xr_interface.connect("session_supported", _on_webxr_session_supported)
+ xr_interface.connect("session_started", _on_webxr_session_started)
+ xr_interface.connect("session_ended", _on_webxr_session_ended)
+ xr_interface.connect("session_failed", _on_webxr_session_failed)
# WebXR currently has no means of querying the refresh rate, so use
# something sufficiently high
- Engine.iterations_per_second = 144
+ Engine.physics_ticks_per_second = 144
# If the viewport is already in XR mode then we are done.
- if get_viewport().arvr:
+ if get_viewport().use_xr:
return true
# This returns immediately - our _webxr_session_supported() method
@@ -273,7 +222,7 @@ func _on_webxr_session_started() -> void:
# Hide the canvas and switch the viewport to XR
$EnterWebXR.visible = false
- get_viewport().arvr = true
+ get_viewport().use_xr = true
# Report the XR starting
xr_active = true
@@ -286,7 +235,7 @@ func _on_webxr_session_ended() -> void:
# Show the canvas and switch the viewport to non-XR
$EnterWebXR.visible = true
- get_viewport().arvr = false
+ get_viewport().use_xr = false
# Report the XR ending
xr_active = false
@@ -306,7 +255,6 @@ func _on_enter_webxr_button_pressed() -> void:
xr_interface.requested_reference_space_types = 'bounded-floor, local-floor, local'
xr_interface.required_features = 'local-floor'
xr_interface.optional_features = 'bounded-floor'
- xr_interface.xr_standard_mapping = true
# Initialize the interface. This should trigger either _on_webxr_session_started
# or _on_webxr_session_failed
diff --git a/addons/godot-xr-tools/xr/start_xr.tscn b/addons/godot-xr-tools/xr/start_xr.tscn
index f600145d..fc156c5d 100644
--- a/addons/godot-xr-tools/xr/start_xr.tscn
+++ b/addons/godot-xr-tools/xr/start_xr.tscn
@@ -1,22 +1,26 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://clc5dre31iskm"]
-[ext_resource path="res://addons/godot-xr-tools/xr/start_xr.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/xr/start_xr.gd" id="1_ljt1b"]
[node name="StartXR" type="Node"]
-script = ExtResource( 1 )
+script = ExtResource("1_ljt1b")
+physics_rate_multiplier = 1.0
[node name="EnterWebXR" type="CanvasLayer" parent="."]
visible = false
[node name="EnterVRButton" type="Button" parent="EnterWebXR"]
+anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
-margin_left = -132.0
-margin_top = -52.5
-margin_right = 132.0
-margin_bottom = 52.5
+offset_left = -132.0
+offset_top = -52.5
+offset_right = 132.0
+offset_bottom = 52.5
+grow_horizontal = 2
+grow_vertical = 2
text = "Enter VR"
[connection signal="pressed" from="EnterWebXR/EnterVRButton" to="." method="_on_enter_webxr_button_pressed"]
diff --git a/addons/godot-xr-tools/xr_tools.gd b/addons/godot-xr-tools/xr_tools.gd
index 6bc63e04..becb811f 100644
--- a/addons/godot-xr-tools/xr_tools.gd
+++ b/addons/godot-xr-tools/xr_tools.gd
@@ -1,39 +1,6 @@
class_name XRTools
extends Node
-# This class contains global definitions for our XRTools library
-
-# enum our axis
-enum Axis {
- VR_PRIMARY_X_AXIS = 0,
- VR_PRIMARY_Y_AXIS = 1,
- VR_SECONDARY_X_AXIS = 6,
- VR_SECONDARY_Y_AXIS = 7,
- VR_TRIGGER_AXIS = 2,
- VR_GRIP_AXIS = 4
-}
-
-
-# enum our buttons
-enum Buttons {
- VR_BUTTON_BY = 1,
- VR_GRIP = 2,
- VR_BUTTON_3 = 3,
- VR_BUTTON_4 = 4,
- VR_BUTTON_5 = 5,
- VR_BUTTON_6 = 6,
- VR_BUTTON_AX = 7,
- VR_BUTTON_8 = 8,
- VR_BUTTON_9 = 9,
- VR_BUTTON_10 = 10,
- VR_BUTTON_11 = 11,
- VR_BUTTON_12 = 12,
- VR_BUTTON_13 = 13,
- VR_PAD = 14,
- VR_TRIGGER = 15,
- VR_ACTION = 255 ## Only supported in function pointer, should solve that differently!!
-}
-
static func get_grip_threshold() -> float:
# can return null which is not a float, so don't type this!
@@ -125,7 +92,7 @@ static func set_player_standard_height(p_height : float) -> void:
## nodes, or whether to only check the immediate children.
##
## The owned argument specifies whether the node must be owned.
-static func find_children(
+static func find_xr_children(
node : Node,
pattern : String,
type : String = "",
@@ -134,7 +101,7 @@ static func find_children(
# Find the children
var found := []
if node:
- _find_children(found, node, pattern, type, recursive, owned)
+ _find_xr_children(found, node, pattern, type, recursive, owned)
return found
## Find a child of the specified node matching the given criteria
@@ -152,7 +119,7 @@ static func find_children(
## nodes, or whether to only check the immediate children.
##
## The owned argument specifies whether the node must be owned.
-static func find_child(
+static func find_xr_child(
node : Node,
pattern : String,
type : String = "",
@@ -160,7 +127,7 @@ static func find_child(
owned : bool = true) -> Node:
# Find the child
if node:
- return _find_child(node, pattern, type, recursive, owned)
+ return _find_xr_child(node, pattern, type, recursive, owned)
# Invalid node
return null
@@ -175,7 +142,7 @@ static func find_child(
##
## The type argument specifies the type of node to find. Use "" to match any
## type.
-static func find_ancestor(
+static func find_xr_ancestor(
node : Node,
pattern : String,
type : String = "") -> Node:
@@ -183,7 +150,7 @@ static func find_ancestor(
while node:
# If node matches filter then break
if (node.name.match(pattern) and
- (type == "" or node.is_class(type))):
+ (type == "" or is_xr_class(node, type))):
break
# Advance to parent
@@ -193,7 +160,7 @@ static func find_ancestor(
return node
# Recursive helper function for find_children.
-static func _find_children(
+static func _find_xr_children(
found : Array,
node : Node,
pattern : String,
@@ -207,16 +174,16 @@ static func _find_children(
# If child matches filter then add it to the array
if (child.name.match(pattern) and
- (type == "" or child.is_class(type)) and
+ (type == "" or is_xr_class(child, type)) and
(not owned or child.owner)):
found.push_back(child)
# If recursive is enabled then descend into children
if recursive:
- _find_children(found, child, pattern, type, recursive, owned)
+ _find_xr_children(found, child, pattern, type, recursive, owned)
# Recursive helper functiomn for find_child
-static func _find_child(
+static func _find_xr_child(
node : Node,
pattern : String,
type : String,
@@ -229,15 +196,23 @@ static func _find_child(
# If child matches filter then return it
if (child.name.match(pattern) and
- (type == "" or child.is_class(type)) and
+ (type == "" or is_xr_class(child, type)) and
(not owned or child.owner)):
return child
# If recursive is enabled then descend into children
if recursive:
- var found := _find_child(child, pattern, type, recursive, owned)
+ var found := _find_xr_child(child, pattern, type, recursive, owned)
if found:
return found
# Not found
return null
+
+# Test if a given node is of the specified class
+static func is_xr_class(node : Node, type : String) -> bool:
+ if node.has_method("is_xr_class"):
+ if node.is_xr_class(type):
+ return true
+
+ return node.is_class(type)
diff --git a/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import b/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import
index cbc68f2d..ae8c1791 100644
--- a/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import
+++ b/assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg.import
@@ -1,35 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.stex"
+type="CompressedTexture2D"
+uid="uid://dqoe1c5yn5dnv"
+path.bptc="res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.bptc.ctex"
+path.astc="res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.astc.ctex"
metadata={
-"vram_texture": false
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
}
[deps]
source_file="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg"
-dest_files=[ "res://.import/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.stex" ]
+dest_files=["res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.bptc.ctex", "res://.godot/imported/SkyOnlyHDRI023_2K-TONEMAPPED.jpg-bcb5464e5ed42ee2463b71652f907f38.astc.ctex"]
[params]
-compress/mode=0
+compress/mode=2
+compress/high_quality=true
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/footsteps/default_footstep.ogg.import b/assets/footsteps/default_footstep.ogg.import
new file mode 100644
index 00000000..1abb4e8a
--- /dev/null
+++ b/assets/footsteps/default_footstep.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://1pvhce6jale0"
+path="res://.godot/imported/default_footstep.ogg-7e783a6a4a857808e4d6ab521d97dec5.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/footsteps/default_footstep.ogg"
+dest_files=["res://.godot/imported/default_footstep.ogg-7e783a6a4a857808e4d6ab521d97dec5.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/footsteps/default_footstep.wav.import b/assets/footsteps/default_footstep.wav.import
index 73397ef3..e3bd0f20 100644
--- a/assets/footsteps/default_footstep.wav.import
+++ b/assets/footsteps/default_footstep.wav.import
@@ -1,13 +1,14 @@
[remap]
importer="wav"
-type="AudioStreamSample"
-path="res://.import/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample"
+type="AudioStreamWAV"
+uid="uid://cddgfn5xkknr4"
+path="res://.godot/imported/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample"
[deps]
source_file="res://assets/footsteps/default_footstep.wav"
-dest_files=[ "res://.import/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample" ]
+dest_files=["res://.godot/imported/default_footstep.wav-dd12f9efdea3173225647961887739e0.sample"]
[params]
diff --git a/assets/footsteps/grass_footstep.ogg.import b/assets/footsteps/grass_footstep.ogg.import
new file mode 100644
index 00000000..7c7d57ce
--- /dev/null
+++ b/assets/footsteps/grass_footstep.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://di2mvj64s1ykq"
+path="res://.godot/imported/grass_footstep.ogg-11247a302dcdd9e3719af4c0193776fa.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/footsteps/grass_footstep.ogg"
+dest_files=["res://.godot/imported/grass_footstep.ogg-11247a302dcdd9e3719af4c0193776fa.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/footsteps/grass_footstep.wav.import b/assets/footsteps/grass_footstep.wav.import
index 093f3b18..1ae8f7e7 100644
--- a/assets/footsteps/grass_footstep.wav.import
+++ b/assets/footsteps/grass_footstep.wav.import
@@ -1,13 +1,14 @@
[remap]
importer="wav"
-type="AudioStreamSample"
-path="res://.import/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample"
+type="AudioStreamWAV"
+uid="uid://dl3u65cveimdq"
+path="res://.godot/imported/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample"
[deps]
source_file="res://assets/footsteps/grass_footstep.wav"
-dest_files=[ "res://.import/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample" ]
+dest_files=["res://.godot/imported/grass_footstep.wav-b9825665a4e1ac3aee5f9998be56cb59.sample"]
[params]
diff --git a/assets/footsteps/mud_footstep.ogg.import b/assets/footsteps/mud_footstep.ogg.import
new file mode 100644
index 00000000..37fe6b84
--- /dev/null
+++ b/assets/footsteps/mud_footstep.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cr8gitem2utdd"
+path="res://.godot/imported/mud_footstep.ogg-7037238fe005102e9ddd7e51a9099967.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/footsteps/mud_footstep.ogg"
+dest_files=["res://.godot/imported/mud_footstep.ogg-7037238fe005102e9ddd7e51a9099967.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/footsteps/mud_footstep.wav.import b/assets/footsteps/mud_footstep.wav.import
index b41ece1c..09794354 100644
--- a/assets/footsteps/mud_footstep.wav.import
+++ b/assets/footsteps/mud_footstep.wav.import
@@ -1,13 +1,14 @@
[remap]
importer="wav"
-type="AudioStreamSample"
-path="res://.import/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample"
+type="AudioStreamWAV"
+uid="uid://bu3r7384vd488"
+path="res://.godot/imported/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample"
[deps]
source_file="res://assets/footsteps/mud_footstep.wav"
-dest_files=[ "res://.import/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample" ]
+dest_files=["res://.godot/imported/mud_footstep.wav-efdbb54cdc8800b21fa00335ae339ccc.sample"]
[params]
diff --git a/assets/footsteps/puddle_footstep.ogg.import b/assets/footsteps/puddle_footstep.ogg.import
new file mode 100644
index 00000000..a342db2a
--- /dev/null
+++ b/assets/footsteps/puddle_footstep.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cvxjtvoif1jyy"
+path="res://.godot/imported/puddle_footstep.ogg-5273758367d1d69b3ade5bc1c8e04ac5.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/footsteps/puddle_footstep.ogg"
+dest_files=["res://.godot/imported/puddle_footstep.ogg-5273758367d1d69b3ade5bc1c8e04ac5.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/footsteps/puddle_footstep.wav.import b/assets/footsteps/puddle_footstep.wav.import
index d3fc3d50..1dc1c348 100644
--- a/assets/footsteps/puddle_footstep.wav.import
+++ b/assets/footsteps/puddle_footstep.wav.import
@@ -1,13 +1,14 @@
[remap]
importer="wav"
-type="AudioStreamSample"
-path="res://.import/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample"
+type="AudioStreamWAV"
+uid="uid://dkladw5jiqfnb"
+path="res://.godot/imported/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample"
[deps]
source_file="res://assets/footsteps/puddle_footstep.wav"
-dest_files=[ "res://.import/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample" ]
+dest_files=["res://.godot/imported/puddle_footstep.wav-9cd3f487c53d96b75250ff56889df57f.sample"]
[params]
diff --git a/assets/footsteps/snow_footstep.ogg.import b/assets/footsteps/snow_footstep.ogg.import
new file mode 100644
index 00000000..88526168
--- /dev/null
+++ b/assets/footsteps/snow_footstep.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://c3ao6lhc7um4b"
+path="res://.godot/imported/snow_footstep.ogg-7e1bcc3ef0b8143bef0df51cc7cd7511.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/footsteps/snow_footstep.ogg"
+dest_files=["res://.godot/imported/snow_footstep.ogg-7e1bcc3ef0b8143bef0df51cc7cd7511.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/footsteps/snow_footstep.wav.import b/assets/footsteps/snow_footstep.wav.import
index 3dfcbaac..f962923d 100644
--- a/assets/footsteps/snow_footstep.wav.import
+++ b/assets/footsteps/snow_footstep.wav.import
@@ -1,13 +1,14 @@
[remap]
importer="wav"
-type="AudioStreamSample"
-path="res://.import/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample"
+type="AudioStreamWAV"
+uid="uid://c7670m64eawbp"
+path="res://.godot/imported/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample"
[deps]
source_file="res://assets/footsteps/snow_footstep.wav"
-dest_files=[ "res://.import/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample" ]
+dest_files=["res://.godot/imported/snow_footstep.wav-29f78401fa6c1bbd519099873252fb56.sample"]
[params]
diff --git a/assets/godot/splash.png.import b/assets/godot/splash.png.import
index f2e02dca..74018306 100644
--- a/assets/godot/splash.png.import
+++ b/assets/godot/splash.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.stex"
-path.etc="res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.etc.stex"
+type="CompressedTexture2D"
+uid="uid://ftrrxm7sxndi"
+path.s3tc="res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.ctex"
+path.etc2="res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/godot/splash.png"
-dest_files=[ "res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.stex", "res://.import/splash.png-34eca73d45cf0604f835226d6332bc2e.etc.stex" ]
+dest_files=["res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.s3tc.ctex", "res://.godot/imported/splash.png-34eca73d45cf0604f835226d6332bc2e.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/maps/basic_map.tscn b/assets/maps/basic_map.tscn
index eb88963f..154496a7 100644
--- a/assets/maps/basic_map.tscn
+++ b/assets/maps/basic_map.tscn
@@ -1,84 +1,84 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://rypqa6qcv0st"]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"]
-[sub_resource type="QuadMesh" id=7]
-size = Vector2( 96, 96 )
+[sub_resource type="QuadMesh" id="7"]
+size = Vector2(96, 96)
-[sub_resource type="BoxShape" id=6]
-extents = Vector3( 50, 1, 50 )
+[sub_resource type="BoxShape3D" id="6"]
+size = Vector3(100, 2, 100)
-[sub_resource type="QuadMesh" id=8]
-size = Vector2( 96, 16 )
+[sub_resource type="QuadMesh" id="8"]
+size = Vector2(96, 16)
-[sub_resource type="BoxShape" id=4]
-extents = Vector3( 50, 8, 1 )
+[sub_resource type="BoxShape3D" id="4"]
+size = Vector3(100, 16, 2)
-[node name="BasicMap" type="Spatial"]
+[node name="BasicMap" type="Node3D"]
-[node name="DirectionalLight" type="DirectionalLight" parent="."]
-transform = Transform( 0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0 )
+[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
+transform = Transform3D(0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0)
light_energy = 0.8
-[node name="Ground" type="StaticBody" parent="."]
+[node name="Ground" type="StaticBody3D" parent="."]
-[node name="MeshInstance" type="MeshInstance" parent="Ground"]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0 )
-mesh = SubResource( 7 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
+mesh = SubResource("7")
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="Ground"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 )
-shape = SubResource( 6 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
+shape = SubResource("6")
-[node name="Wall1" type="StaticBody" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -48 )
+[node name="Wall1" type="StaticBody3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -48)
-[node name="MeshInstance" type="MeshInstance" parent="Wall1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 )
-mesh = SubResource( 8 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0)
+mesh = SubResource("8")
skeleton = NodePath("../..")
-material/0 = ExtResource( 2 )
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="Wall1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1)
+shape = SubResource("4")
-[node name="Wall2" type="StaticBody" parent="."]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 48, 0, 0 )
+[node name="Wall2" type="StaticBody3D" parent="."]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 48, 0, 0)
-[node name="MeshInstance" type="MeshInstance" parent="Wall2"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 )
-mesh = SubResource( 8 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall2"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0)
+mesh = SubResource("8")
skeleton = NodePath("../..")
-material/0 = ExtResource( 2 )
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="Wall2"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall2"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1)
+shape = SubResource("4")
-[node name="Wall3" type="StaticBody" parent="."]
-transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 48 )
+[node name="Wall3" type="StaticBody3D" parent="."]
+transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 48)
-[node name="MeshInstance" type="MeshInstance" parent="Wall3"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 )
-mesh = SubResource( 8 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall3"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0)
+mesh = SubResource("8")
skeleton = NodePath("../..")
-material/0 = ExtResource( 2 )
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="Wall3"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall3"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1)
+shape = SubResource("4")
-[node name="Wall4" type="StaticBody" parent="."]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -48, 0, 0 )
+[node name="Wall4" type="StaticBody3D" parent="."]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -48, 0, 0)
-[node name="MeshInstance" type="MeshInstance" parent="Wall4"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0 )
-mesh = SubResource( 8 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Wall4"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 0)
+mesh = SubResource("8")
skeleton = NodePath("../..")
-material/0 = ExtResource( 2 )
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="Wall4"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Wall4"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1)
+shape = SubResource("4")
diff --git a/assets/meshes/interactables/joystick_smooth.tscn b/assets/meshes/interactables/joystick_smooth.tscn
index c9ab533f..ed3aa613 100644
--- a/assets/meshes/interactables/joystick_smooth.tscn
+++ b/assets/meshes/interactables/joystick_smooth.tscn
@@ -1,90 +1,90 @@
-[gd_scene load_steps=15 format=2]
+[gd_scene load_steps=15 format=3 uid="uid://bvgjfffe0w2uu"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_7eu3q"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_w0c7s"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_cvp1w"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.1, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.2, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[node name="JoystickSmooth" type="Spatial"]
+[node name="JoystickSmooth" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="JoystickOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="JoystickOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"]
+script = ExtResource("2")
-[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_7eu3q")]
+left_pose = ExtResource("6_w0c7s")
+right_pose = ExtResource("7_cvp1w")
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("7")
diff --git a/assets/meshes/interactables/joystick_snap.tscn b/assets/meshes/interactables/joystick_snap.tscn
index 6d144a3e..357d0a7f 100644
--- a/assets/meshes/interactables/joystick_snap.tscn
+++ b/assets/meshes/interactables/joystick_snap.tscn
@@ -1,96 +1,96 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://bnckmqfewiysy"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_64ana"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_k7hp2"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_5j7kl"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.1, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.2, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_cq6vf"]
margin = 0.12
radius = 0.06
-[node name="JoystickSnap" type="Spatial"]
+[node name="JoystickSnap" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="JoystickOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="JoystickOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"]
+script = ExtResource("2")
joystick_x_steps = 5.0
joystick_y_steps = 5.0
-[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_64ana")]
+left_pose = ExtResource("6_k7hp2")
+right_pose = ExtResource("7_5j7kl")
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_cq6vf")
diff --git a/assets/meshes/interactables/joystick_zero.tscn b/assets/meshes/interactables/joystick_zero.tscn
index 796ecf87..a193f288 100644
--- a/assets/meshes/interactables/joystick_zero.tscn
+++ b/assets/meshes/interactables/joystick_zero.tscn
@@ -1,95 +1,95 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://dtrftty6i383g"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_joystick.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_mkqe2"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_ywek1"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_t3wx4"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.1, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.2, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.2, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_hi87f"]
margin = 0.12
radius = 0.06
-[node name="JoystickZero" type="Spatial"]
+[node name="JoystickZero" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="JoystickOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="JoystickOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableJoystick" type="Spatial" parent="JoystickOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableJoystick" type="Node3D" parent="JoystickOrigin"]
+script = ExtResource("2")
default_on_release = true
-[node name="JoystickBody" type="StaticBody" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="JoystickBody" type="StaticBody3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="JoystickOrigin/InteractableJoystick/JoystickBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="JoystickOrigin/InteractableJoystick"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="JoystickOrigin/InteractableJoystick"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle" instance=ExtResource("5_mkqe2")]
+left_pose = ExtResource("6_ywek1")
+right_pose = ExtResource("7_t3wx4")
-[node name="CollisionShape" type="CollisionShape" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="JoystickOrigin/InteractableJoystick/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_hi87f")
diff --git a/assets/meshes/interactables/lever_smooth.tscn b/assets/meshes/interactables/lever_smooth.tscn
index c868d24e..b0d764be 100644
--- a/assets/meshes/interactables/lever_smooth.tscn
+++ b/assets/meshes/interactables/lever_smooth.tscn
@@ -1,94 +1,90 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=15 format=3 uid="uid://cs6dxfu5owcgo"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_tuhw3"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_rulf8"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_ue4vl"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
-margin = 0.12
-radius = 0.06
-
-[node name="LeverSmooth" type="Spatial"]
+[node name="LeverSmooth" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="LeverOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="LeverOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableLever" type="Spatial" parent="LeverOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableLever" type="Node3D" parent="LeverOrigin"]
+script = ExtResource("2")
-[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_tuhw3")]
+left_pose = ExtResource("6_rulf8")
+right_pose = ExtResource("7_ue4vl")
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("7")
diff --git a/assets/meshes/interactables/lever_snap.tscn b/assets/meshes/interactables/lever_snap.tscn
index 7edaa607..d0528ae3 100644
--- a/assets/meshes/interactables/lever_snap.tscn
+++ b/assets/meshes/interactables/lever_snap.tscn
@@ -1,95 +1,95 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://dxgv8axd355m7"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_wptrs"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_k8n68"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_r4cxy"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_2c34s"]
margin = 0.12
radius = 0.06
-[node name="LeverSnap" type="Spatial"]
+[node name="LeverSnap" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="LeverOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="LeverOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableLever" type="Spatial" parent="LeverOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableLever" type="Node3D" parent="LeverOrigin"]
+script = ExtResource("2")
hinge_steps = 5.0
-[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_wptrs")]
+left_pose = ExtResource("6_k8n68")
+right_pose = ExtResource("7_r4cxy")
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_2c34s")
diff --git a/assets/meshes/interactables/lever_zero.tscn b/assets/meshes/interactables/lever_zero.tscn
index f27c6351..bde53f51 100644
--- a/assets/meshes/interactables/lever_zero.tscn
+++ b/assets/meshes/interactables/lever_zero.tscn
@@ -1,95 +1,95 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://cll4pk3kuuq1"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_rm136"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_41y4y"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_nrov4"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_ak455"]
margin = 0.12
radius = 0.06
-[node name="LeverZero" type="Spatial"]
+[node name="LeverZero" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="LeverOrigin" type="Spatial" parent="."]
-transform = Transform( 1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0 )
+[node name="LeverOrigin" type="Node3D" parent="."]
+transform = Transform3D(1, -1.06581e-14, 0, 1.06581e-14, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="InteractableLever" type="Spatial" parent="LeverOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableLever" type="Node3D" parent="LeverOrigin"]
+script = ExtResource("2")
default_on_release = true
-[node name="HingeBody" type="StaticBody" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="HingeBody" type="StaticBody3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="LeverOrigin/InteractableLever/HingeBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="LeverOrigin/InteractableLever/HingeBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="LeverOrigin/InteractableLever"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="LeverOrigin/InteractableLever"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="LeverOrigin/InteractableLever/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="LeverOrigin/InteractableLever/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle" instance=ExtResource("5_rm136")]
+left_pose = ExtResource("6_41y4y")
+right_pose = ExtResource("7_nrov4")
-[node name="CollisionShape" type="CollisionShape" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="LeverOrigin/InteractableLever/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_ak455")
diff --git a/assets/meshes/interactables/pose_grab_ball_left.tres b/assets/meshes/interactables/pose_grab_ball_left.tres
index b7475a07..d962923f 100644
--- a/assets/meshes/interactables/pose_grab_ball_left.tres
+++ b/assets/meshes/interactables/pose_grab_ball_left.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c5nxxsga5kesd"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=3]
+[ext_resource type="Animation" uid="uid://dd67rufxwj2u" path="res://addons/godot-xr-tools/hands/animations/left/Grip 3.res" id="1_2tsp7"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_4yio3"]
+[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_pmy7y"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 3 )
-closed_pose = ExtResource( 2 )
+script = ExtResource("1_4yio3")
+open_pose = ExtResource("2_pmy7y")
+closed_pose = ExtResource("1_2tsp7")
diff --git a/assets/meshes/interactables/pose_grab_ball_right.tres b/assets/meshes/interactables/pose_grab_ball_right.tres
index 67614c0b..a31c5d0c 100644
--- a/assets/meshes/interactables/pose_grab_ball_right.tres
+++ b/assets/meshes/interactables/pose_grab_ball_right.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dvvw0k7tqagx"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.anim" type="Animation" id=3]
+[ext_resource type="Animation" uid="uid://rs7vpclot07o" path="res://addons/godot-xr-tools/hands/animations/right/Grip 3.res" id="1_8iu1g"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_u1f48"]
+[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_qdi81"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1_u1f48")
+open_pose = ExtResource("2_qdi81")
+closed_pose = ExtResource("1_8iu1g")
diff --git a/assets/meshes/interactables/pose_grab_wheel_left.tres b/assets/meshes/interactables/pose_grab_wheel_left.tres
index f8c8a0ca..1a8b4fb9 100644
--- a/assets/meshes/interactables/pose_grab_wheel_left.tres
+++ b/assets/meshes/interactables/pose_grab_wheel_left.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://bd1dxftyxdgup"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=3]
+[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="1_rs51e"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_yqjd0"]
+[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_ti24b"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1_yqjd0")
+open_pose = ExtResource("2_ti24b")
+closed_pose = ExtResource("1_rs51e")
diff --git a/assets/meshes/interactables/pose_grab_wheel_right.tres b/assets/meshes/interactables/pose_grab_wheel_right.tres
index cb9a64d9..4e01a259 100644
--- a/assets/meshes/interactables/pose_grab_wheel_right.tres
+++ b/assets/meshes/interactables/pose_grab_wheel_right.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dsiujx4dllwvd"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.anim" type="Animation" id=3]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_g47t4"]
+[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="1_iahbe"]
+[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_ca3on"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1_g47t4")
+open_pose = ExtResource("2_ca3on")
+closed_pose = ExtResource("1_iahbe")
diff --git a/assets/meshes/interactables/push_button.tscn b/assets/meshes/interactables/push_button.tscn
index d79c887b..e3ca5ba2 100644
--- a/assets/meshes/interactables/push_button.tscn
+++ b/assets/meshes/interactables/push_button.tscn
@@ -1,78 +1,78 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://dbv1hvxufc1al"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" type="Script" id=2]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=5]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_area_button.gd" id="2"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="3_2axcm"]
+[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="4_sgcw0"]
+[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="5_g2ih4"]
-[sub_resource type="CylinderShape" id=1]
+[sub_resource type="CylinderShape3D" id="1"]
height = 0.05
radius = 0.05
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
top_radius = 0.05
bottom_radius = 0.05
height = 0.05
radial_segments = 16
rings = 0
-[sub_resource type="CylinderShape" id=3]
+[sub_resource type="CylinderShape3D" id="3"]
height = 0.04
radius = 0.04
-[sub_resource type="CylinderMesh" id=4]
+[sub_resource type="CylinderMesh" id="4"]
top_radius = 0.04
bottom_radius = 0.04
height = 0.04
radial_segments = 16
rings = 0
-[sub_resource type="SpatialMaterial" id=5]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8y3ah"]
+albedo_color = Color(1, 0, 0, 1)
-[sub_resource type="CylinderShape" id=6]
+[sub_resource type="CylinderShape3D" id="6"]
height = 0.05
radius = 0.04
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="SphereShape3D_lygiq"]
radius = 0.05
-[node name="PushButton" type="Spatial"]
+[node name="PushButton" type="Node3D"]
-[node name="ButtonBase" type="StaticBody" parent="."]
+[node name="ButtonBase" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="ButtonBase"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="ButtonBase"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="ButtonBase"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="ButtonBase"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="Button" type="StaticBody" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0 )
+[node name="Button" type="StaticBody3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.03, 0)
-[node name="CollisionShape" type="CollisionShape" parent="Button"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Button"]
+shape = SubResource("3")
-[node name="MeshInstance" type="MeshInstance" parent="Button"]
-mesh = SubResource( 4 )
-material/0 = SubResource( 5 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Button"]
+mesh = SubResource("4")
+surface_material_override/0 = SubResource("StandardMaterial3D_8y3ah")
-[node name="InteractableAreaButton" type="Area" parent="."]
+[node name="InteractableAreaButton" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 131072
-script = ExtResource( 2 )
+script = ExtResource("2")
button = NodePath("../Button")
-[node name="CollisionShape" type="CollisionShape" parent="InteractableAreaButton"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0 )
-shape = SubResource( 6 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="InteractableAreaButton"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
+shape = SubResource("6")
-[node name="HandPoseArea" parent="." instance=ExtResource( 3 )]
-left_pose = ExtResource( 4 )
-right_pose = ExtResource( 5 )
+[node name="HandPoseArea" parent="." instance=ExtResource("3_2axcm")]
+left_pose = ExtResource("4_sgcw0")
+right_pose = ExtResource("5_g2ih4")
-[node name="CollisionShape" type="CollisionShape" parent="HandPoseArea"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0246354, 0 )
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HandPoseArea"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.025, 0)
+shape = SubResource("SphereShape3D_lygiq")
diff --git a/assets/meshes/interactables/slider_smooth.tscn b/assets/meshes/interactables/slider_smooth.tscn
index 17eede6b..dc6d87fd 100644
--- a/assets/meshes/interactables/slider_smooth.tscn
+++ b/assets/meshes/interactables/slider_smooth.tscn
@@ -1,97 +1,93 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=15 format=3 uid="uid://cpwdvy41fqdua"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_8qwag"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_any72"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_xpnvq"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
-margin = 0.12
-radius = 0.06
-
-[node name="SliderSmooth" type="Spatial"]
+[node name="SliderSmooth" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="SliderOrigin" type="Spatial" parent="."]
-transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 )
+[node name="SliderOrigin" type="Node3D" parent="."]
+transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0)
-[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"]
+script = ExtResource("2")
slider_limit_max = 0.4
slider_position = 0.2
default_position = 0.2
-[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_8qwag")]
+left_pose = ExtResource("6_any72")
+right_pose = ExtResource("7_xpnvq")
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("7")
diff --git a/assets/meshes/interactables/slider_snap.tscn b/assets/meshes/interactables/slider_snap.tscn
index d9e4a629..67d3e1b6 100644
--- a/assets/meshes/interactables/slider_snap.tscn
+++ b/assets/meshes/interactables/slider_snap.tscn
@@ -1,98 +1,98 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://dukyhft262nrv"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_t8y5e"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_eeodv"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_6tlv7"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_b2cs2"]
margin = 0.12
radius = 0.06
-[node name="SliderSnap" type="Spatial"]
+[node name="SliderSnap" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="SliderOrigin" type="Spatial" parent="."]
-transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 )
+[node name="SliderOrigin" type="Node3D" parent="."]
+transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0)
-[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"]
+script = ExtResource("2")
slider_limit_max = 0.4
slider_steps = 0.1
slider_position = 0.2
default_position = 0.2
-[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_t8y5e")]
+left_pose = ExtResource("6_eeodv")
+right_pose = ExtResource("7_6tlv7")
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_b2cs2")
diff --git a/assets/meshes/interactables/slider_zero.tscn b/assets/meshes/interactables/slider_zero.tscn
index b4b499ce..b39b0bd2 100644
--- a/assets/meshes/interactables/slider_zero.tscn
+++ b/assets/meshes/interactables/slider_zero.tscn
@@ -1,98 +1,98 @@
-[gd_scene load_steps=16 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://hv8nnbkuccxi"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" type="Script" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_left.tres" type="Resource" id=6]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_ball_right.tres" type="Resource" id=7]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_slider.gd" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="4"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_ec2uv"]
+[ext_resource type="Resource" uid="uid://c5nxxsga5kesd" path="res://assets/meshes/interactables/pose_grab_ball_left.tres" id="6_bqubh"]
+[ext_resource type="Resource" uid="uid://dvvw0k7tqagx" path="res://assets/meshes/interactables/pose_grab_ball_right.tres" id="7_dmlvy"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.1, 0.3, 0.05 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 0.2, 0.6, 0.1 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.6, 0.1)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.02, 0.02, 0.1 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereShape" id=4]
+[sub_resource type="SphereShape3D" id="4"]
radius = 0.06
-[sub_resource type="CubeMesh" id=5]
-size = Vector3( 0.04, 0.04, 0.2 )
+[sub_resource type="BoxMesh" id="5"]
+size = Vector3(0.04, 0.04, 0.2)
-[sub_resource type="SphereMesh" id=6]
+[sub_resource type="SphereMesh" id="6"]
radius = 0.06
height = 0.12
radial_segments = 16
rings = 8
-[sub_resource type="SphereShape" id=7]
+[sub_resource type="SphereShape3D" id="7"]
margin = 0.12
radius = 0.06
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="SphereShape3D_tg476"]
margin = 0.12
radius = 0.06
-[node name="SliderZero" type="Spatial"]
+[node name="SliderZero" type="Node3D"]
-[node name="Frame" type="StaticBody" parent="."]
+[node name="Frame" type="StaticBody3D" parent="."]
-[node name="CollisionShape" type="CollisionShape" parent="Frame"]
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Frame"]
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="Frame"]
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Frame"]
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="SliderOrigin" type="Spatial" parent="."]
-transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0 )
+[node name="SliderOrigin" type="Node3D" parent="."]
+transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, -0.2, 0)
-[node name="InteractableSlider" type="Spatial" parent="SliderOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableSlider" type="Node3D" parent="SliderOrigin"]
+script = ExtResource("2")
slider_limit_max = 0.4
slider_position = 0.2
default_position = 0.2
default_on_release = true
-[node name="SliderBody" type="StaticBody" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
+[node name="SliderBody" type="StaticBody3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
-[node name="BarCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-shape = SubResource( 3 )
+[node name="BarCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+shape = SubResource("3")
-[node name="HandleCollision" type="CollisionShape" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-shape = SubResource( 4 )
+[node name="HandleCollision" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+shape = SubResource("4")
-[node name="BarMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-mesh = SubResource( 5 )
-material/0 = ExtResource( 3 )
+[node name="BarMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+mesh = SubResource("5")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleMesh" type="MeshInstance" parent="SliderOrigin/InteractableSlider/SliderBody"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1 )
-mesh = SubResource( 6 )
-material/0 = ExtResource( 3 )
+[node name="HandleMesh" type="MeshInstance3D" parent="SliderOrigin/InteractableSlider/SliderBody"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
+mesh = SubResource("6")
+surface_material_override/0 = ExtResource("3")
-[node name="HandleOrigin" type="Spatial" parent="SliderOrigin/InteractableSlider"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2 )
+[node name="HandleOrigin" type="Node3D" parent="SliderOrigin/InteractableSlider"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
+[node name="InteractableHandle" type="RigidBody3D" parent="SliderOrigin/InteractableSlider/HandleOrigin"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 4 )
+freeze = true
+script = ExtResource("4")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle"]
+shape = SubResource("7")
-[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource( 5 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 7 )
+[node name="HandPoseArea" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle" instance=ExtResource("5_ec2uv")]
+left_pose = ExtResource("6_bqubh")
+right_pose = ExtResource("7_dmlvy")
-[node name="CollisionShape" type="CollisionShape" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
-shape = SubResource( 8 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="SliderOrigin/InteractableSlider/HandleOrigin/InteractableHandle/HandPoseArea"]
+shape = SubResource("SphereShape3D_tg476")
diff --git a/assets/meshes/interactables/wheel_smooth.tscn b/assets/meshes/interactables/wheel_smooth.tscn
index ec11de9c..729a1e24 100644
--- a/assets/meshes/interactables/wheel_smooth.tscn
+++ b/assets/meshes/interactables/wheel_smooth.tscn
@@ -1,159 +1,158 @@
-[gd_scene load_steps=11 format=2]
+[gd_scene load_steps=11 format=3 uid="uid://d2td5hwh2oluy"]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=1]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" type="Script" id=2]
-[ext_resource path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=4]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_wheel_right.tres" type="Resource" id=5]
-[ext_resource path="res://assets/meshes/interactables/pose_grab_wheel_left.tres" type="Resource" id=6]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="1"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_hinge.gd" id="2"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/interactables/interactable_handle.gd" id="3"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="4_2vgo6"]
+[ext_resource type="Resource" uid="uid://bd1dxftyxdgup" path="res://assets/meshes/interactables/pose_grab_wheel_left.tres" id="5_gt8jj"]
+[ext_resource type="Resource" uid="uid://dsiujx4dllwvd" path="res://assets/meshes/interactables/pose_grab_wheel_right.tres" id="6_ss5gc"]
-[sub_resource type="CylinderShape" id=1]
+[sub_resource type="CylinderShape3D" id="1"]
height = 0.02
radius = 0.2
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
top_radius = 0.2
bottom_radius = 0.2
height = 0.02
radial_segments = 32
rings = 0
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.01, 0.04, 0.05 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.02, 0.08, 0.1)
-[sub_resource type="CylinderShape" id=4]
+[sub_resource type="CylinderShape3D" id="CylinderShape3D_3cy60"]
height = 0.04
radius = 0.22
-[node name="WheelSmooth" type="Spatial"]
+[node name="WheelSmooth" type="Node3D"]
-[node name="HingeOrigin" type="Spatial" parent="."]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 )
+[node name="HingeOrigin" type="Node3D" parent="."]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0)
-[node name="InteractableHinge" type="Spatial" parent="HingeOrigin"]
-script = ExtResource( 2 )
+[node name="InteractableHinge" type="Node3D" parent="HingeOrigin"]
+script = ExtResource("2")
hinge_limit_min = -360.0
hinge_limit_max = 360.0
-[node name="WheelBody" type="StaticBody" parent="HingeOrigin/InteractableHinge"]
+[node name="WheelBody" type="StaticBody3D" parent="HingeOrigin/InteractableHinge"]
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/WheelBody"]
-transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 )
-shape = SubResource( 1 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/WheelBody"]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="HingeOrigin/InteractableHinge/WheelBody"]
-transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="HingeOrigin/InteractableHinge/WheelBody"]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
-[node name="Handle1" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 )
+[node name="Handle1" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle1"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle1"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle1/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle1/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle2" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.141, -0.141 )
+[node name="Handle2" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.141, -0.141)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle2"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle2"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
-picked_up_layer = 0
+freeze = true
+script = ExtResource("3")
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle2/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle2/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle3" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.2 )
+[node name="Handle3" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.2)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle3"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle3"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle3/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle3/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle4" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, -0.707107, 0.707107, 0, -0.707107, -0.707107, 0, -0.141, -0.141 )
+[node name="Handle4" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, -0.707107, 0.707107, 0, -0.707107, -0.707107, 0, -0.141, -0.141)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle4"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle4"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle4/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle4/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle5" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, -0.2, 0 )
+[node name="Handle5" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, -0.2, 0)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle5"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle5"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle5/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle5/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle6" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, -0.707107, -0.707107, 0, 0.707107, -0.707107, 0, -0.141, 0.141 )
+[node name="Handle6" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, -0.707107, -0.707107, 0, 0.707107, -0.707107, 0, -0.141, 0.141)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle6"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle6"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle6/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle6/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle7" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, 1.19249e-08, -1, 0, 1, 1.19249e-08, 0, 0, 0.2 )
+[node name="Handle7" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, 1.19249e-08, -1, 0, 1, 1.19249e-08, 0, 0, 0.2)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle7"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle7"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle7/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle7/InteractableHandle"]
+shape = SubResource("3")
-[node name="Handle8" type="Spatial" parent="HingeOrigin/InteractableHinge"]
-transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0.141, 0.141 )
+[node name="Handle8" type="Node3D" parent="HingeOrigin/InteractableHinge"]
+transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0.141, 0.141)
-[node name="InteractableHandle" type="RigidBody" parent="HingeOrigin/InteractableHinge/Handle8"]
+[node name="InteractableHandle" type="RigidBody3D" parent="HingeOrigin/InteractableHinge/Handle8"]
collision_layer = 262144
collision_mask = 0
-mode = 1
-script = ExtResource( 3 )
+freeze = true
+script = ExtResource("3")
picked_up_layer = 0
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/InteractableHinge/Handle8/InteractableHandle"]
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/InteractableHinge/Handle8/InteractableHandle"]
+shape = SubResource("3")
-[node name="HandPoseArea" parent="HingeOrigin" instance=ExtResource( 4 )]
-left_pose = ExtResource( 6 )
-right_pose = ExtResource( 5 )
+[node name="HandPoseArea" parent="HingeOrigin" instance=ExtResource("4_2vgo6")]
+left_pose = ExtResource("5_gt8jj")
+right_pose = ExtResource("6_ss5gc")
-[node name="CollisionShape" type="CollisionShape" parent="HingeOrigin/HandPoseArea"]
-transform = Transform( -4.37114e-08, 1, 4.37114e-08, -1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, 1, 0, 0, 0 )
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HingeOrigin/HandPoseArea"]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
+shape = SubResource("CylinderShape3D_3cy60")
diff --git a/assets/meshes/mound/mound.glb.import b/assets/meshes/mound/mound.glb.import
index 362a5f4b..f804d27a 100644
--- a/assets/meshes/mound/mound.glb.import
+++ b/assets/meshes/mound/mound.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn"
+uid="uid://b40l7e73lfwkf"
+path="res://.godot/imported/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn"
[deps]
source_file="res://assets/meshes/mound/mound.glb"
-dest_files=[ "res://.import/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn" ]
+dest_files=["res://.godot/imported/mound.glb-8c6a3be1c57dd40494eb20805b8e12b9.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/mound/mound.tscn b/assets/meshes/mound/mound.tscn
index 4c9f3467..56e4e187 100644
--- a/assets/meshes/mound/mound.tscn
+++ b/assets/meshes/mound/mound.tscn
@@ -1,32 +1,52 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://dpjfart2qg8k7"]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1]
+[ext_resource type="Texture2D" uid="uid://bskwc0drdadnd" path="res://assets/wahooney.itch.io/brown_grid.png" id="1"]
-[sub_resource type="ConvexPolygonShape" id=3]
-points = PoolVector3Array( 2.5, 0, -0.00146341, 2.41435, 0.647024, -0.00146341, 2.41435, 0.595634, 1.0434, 2.49315, 0, 0.984865, 2.49315, 0, -0.986329, 2.41435, 0.595634, -1.04486, 2.16474, 1.25, -0.00146341, 2.16474, 1.19567, 1.10194, 2.41435, 0.442443, 2.07656, 2.47406, 0, 1.98876, 2.47406, 0, -1.99022, 2.41435, 0.442443, -2.07802, 2.16474, 1.19567, -1.1034, 1.76732, 1.76757, -0.00146341, 1.76732, 1.71104, 1.15316, 1.76732, 1.71104, -1.15462, 2.16474, 1.03367, 2.19363, 2.16474, 0.765466, 3.26484, 2.41435, 0.18843, 3.08923, 2.44029, 0, 3.03216, 2.44029, 0, -3.03362, 2.41435, 0.18843, -3.09069, 2.16474, 0.765466, -3.2663, 2.16474, 1.03367, -2.19509, 1.25, 2.16499, -0.00146341, 1.25, 2.10625, 1.1912, 1.25, 1.93128, 2.37216, 1.76732, 1.54145, 2.29461, 1.76732, 1.54145, -2.29607, 1.25, 1.93128, -2.37363, 1.25, 2.10625, -1.19267, 1.76732, 1.26101, 3.41557, 1.76732, 0.871917, 4.50287, 2.16474, 0.3935, 4.30385, 2.34142, 0, 4.14141, 2.41435, 0, 3.61751, 2.41435, 0, -3.61898, 1.76732, 1.26101, -3.41703, 2.34142, 0, -4.14287, 2.16474, 0.3935, -4.30531, 1.76732, 0.871917, -4.50433, 0.647023, 2.35488, -1.21755, 0.647023, 2.41459, -0.00146341, 0.647023, 2.35488, 1.21608, 0.647023, 2.17624, 2.42192, 1.25, 1.64105, 3.53117, 1.25, 1.64105, -3.53264, 0.647023, 2.17624, -2.42338, 1.25, 1.23899, 4.65506, 1.76732, 0.378083, 5.54627, 2.09671, 0, 5.34432, 2.16474, 0, 5.13652, 1.25, 1.23899, -4.65653, 2.16474, 0, -5.13798, 2.09671, 0, -5.34579, 1.76732, 0.378083, -5.54773, -9.53674e-07, 2.4398, -1.22633, -9.53674e-07, 2.5, -0.00146341, -9.53674e-07, 2.4398, 1.22486, -9.53674e-07, 2.25969, 2.43802, -9.53674e-07, 1.96163, 3.62776, 0.647023, 1.88014, 3.60288, 0.647023, 1.46975, 4.75018, 0.647023, 1.46975, -4.75165, 0.647023, 1.88014, -3.60434, -9.53674e-07, 1.96163, -3.62922, -9.53674e-07, 2.25969, -2.43948, 0.647023, 0.948757, 5.85212, 1.25, 0.728514, 5.73359, 1.25, 0.114771, 6.75796, 1.76732, 0, 6.17699, 1.25, 0.728514, -5.73505, 0.647023, 0.948757, -5.85358, 1.76732, 0, -6.17846, 1.25, 0.114771, -6.75943, -0.647515, 2.17624, -2.42338, -0.647515, 2.35488, -1.21755, -0.647515, 2.35488, 1.21608, -0.647515, 2.41459, -0.00146341, -0.647515, 2.17624, 2.42192, -0.647515, 1.88014, 3.60288, -0.647515, 1.46975, 4.75018, -9.53674e-07, 1.54831, 4.78238, -9.53674e-07, 1.02388, 5.89163, -9.53674e-07, 1.54831, -4.78384, -9.53674e-07, 1.02388, -5.8931, -0.647515, 1.88014, -3.60434, -0.647515, 1.46975, -4.75165, 0.647023, 0.322533, 6.89699, 1.42962, 0, 6.6804, 1.25, 0, 6.91308, 0.647023, 0.322533, -6.89845, 1.42962, 0, -6.68187, 1.25, 0, -6.91455, -1.25, 1.93128, -2.37363, -1.25, 2.10625, -1.19267, -1.25, 1.64105, -3.53264, -1.25, 2.16499, -0.00146341, -1.25, 2.10625, 1.1912, -1.25, 1.93128, 2.37216, -1.25, 1.64105, 3.53117, -1.25, 1.23899, 4.65506, -0.647515, 0.948757, 5.85212, -0.647515, 0.322533, 6.89699, -9.53674e-07, 0.393256, 6.94381, -9.53674e-07, 0.393256, -6.94528, -0.647515, 0.322533, -6.89845, -0.647515, 0.948757, -5.85358, -1.25, 1.23899, -4.65653, -9.53674e-07, 0, 7.47503, 0.647023, 0, 7.33161, 0.647023, 0, -7.33308, -1.76782, 1.26101, -3.41703, -1.76782, 1.54145, -2.29607, -1.76782, 1.71104, -1.15462, -1.76782, 1.76757, -0.00146341, -1.76782, 1.71104, 1.15316, -1.76782, 1.54145, 2.29461, -1.76782, 1.26101, 3.41557, -1.76782, 0.871917, 4.50287, -1.76782, 0.378083, 5.54627, -1.25, 0.728514, 5.73359, -1.25, 0.114771, 6.75796, -1.25, 0, 6.91308, -0.647515, 0, 7.33161, -9.53674e-07, 0, -7.47503, -0.647515, 0, -7.33308, -1.25, 0, -6.91455, -1.25, 0.114771, -6.75943, -1.25, 0.728514, -5.73505, -1.76782, 0.871917, -4.50433, -1.76782, 0.378083, -5.54773, -2.16523, 0.765466, -3.2663, -2.16523, 1.03367, -2.19509, -2.16523, 1.19567, -1.1034, -2.16523, 1.25, -0.00146341, -2.16523, 1.19567, 1.10194, -2.16523, 1.03367, 2.19363, -2.16523, 0.765466, 3.26484, -2.16523, 0.3935, 4.30385, -2.0972, 0, 5.34432, -1.76782, 0, 6.17699, -1.43011, 0, 6.6804, -1.43011, 0, -6.68187, -1.76782, 0, -6.17846, -2.0972, 0, -5.34579, -2.16523, 0.3935, -4.30531, -2.41484, 0.18843, -3.09069, -2.41484, 0.442443, -2.07802, -2.34192, 0, -4.14287, -2.41484, 0, -3.61898, -2.41484, 0.595634, -1.04486, -2.41484, 0.647024, -0.00146341, -2.41484, 0.595634, 1.0434, -2.41484, 0.442443, 2.07656, -2.41484, 0.18843, 3.08923, -2.41484, 0, 3.61751, -2.34192, 0, 4.14141, -2.16523, 0, 5.13652, -2.16523, 0, -5.13798, -2.44078, 0, -3.03362, -2.47455, 0, -1.99022, -2.49364, 0, -0.986329, -2.5, 0, -0.00146341, -2.49364, 0, 0.984865, -2.47455, 0, 1.98876, -2.44078, 0, 3.03216 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_3sfqa"]
+points = PackedVector3Array(2.5, 0, -0.00146341, 2.41435, 0.647024, -0.00146341, 2.41435, 0.595634, 1.0434, 2.49315, 0, 0.984865, 2.49315, 0, -0.986329, 2.41435, 0.595634, -1.04486, 2.16474, 1.25, -0.00146341, 2.16474, 1.19567, 1.10194, 2.41435, 0.442443, 2.07656, 2.47406, 0, 1.98876, 2.47406, 0, -1.99022, 2.41435, 0.442443, -2.07802, 2.16474, 1.19567, -1.1034, 1.76732, 1.71104, -1.15462, 1.76732, 1.76757, -0.00146341, 1.76732, 1.71104, 1.15316, 2.16474, 1.03367, 2.19363, 2.16474, 0.765466, 3.26484, 2.41435, 0.18843, 3.08923, 2.44029, 0, 3.03216, 2.44029, 0, -3.03362, 2.41435, 0.18843, -3.09069, 2.16474, 0.765466, -3.2663, 2.16474, 1.03367, -2.19509, 1.76732, 1.54145, -2.29607, 1.25, 1.93128, -2.37363, 1.25, 2.10625, -1.19267, 1.25, 2.16499, -0.00146341, 1.25, 2.10625, 1.1912, 1.25, 1.93128, 2.37216, 1.76732, 1.54145, 2.29461, 1.76732, 1.26101, 3.41557, 1.76732, 0.871917, 4.50287, 2.16474, 0.3935, 4.30385, 2.34142, 0, 4.14141, 2.41435, 0, 3.61751, 2.41435, 0, -3.61898, 1.76732, 1.26101, -3.41703, 2.34142, 0, -4.14287, 2.16474, 0.3935, -4.30531, 1.76732, 0.871917, -4.50433, 1.25, 1.64105, -3.53264, 0.647023, 2.17624, -2.42338, 0.647023, 2.35488, -1.21755, 0.647023, 2.41459, -0.00146341, 0.647023, 2.35488, 1.21608, 0.647023, 2.17624, 2.42192, 1.25, 1.64105, 3.53117, 1.25, 1.23899, 4.65506, 1.76732, 0.378083, 5.54627, 2.09671, 0, 5.34432, 2.16474, 0, 5.13652, 1.25, 1.23899, -4.65653, 2.16474, 0, -5.13798, 2.09671, 0, -5.34579, 1.76732, 0.378083, -5.54773, 0.647023, 1.46975, -4.75165, 0.647023, 1.88014, -3.60434, -9.53674e-07, 2.25969, -2.43948, -9.53674e-07, 2.4398, -1.22633, -9.53674e-07, 1.96163, -3.62922, -9.53674e-07, 2.5, -0.00146341, -9.53674e-07, 2.4398, 1.22486, -9.53674e-07, 2.25969, 2.43802, -9.53674e-07, 1.96163, 3.62776, 0.647023, 1.88014, 3.60288, 0.647023, 1.46975, 4.75018, 0.647023, 0.948757, 5.85212, 1.25, 0.728514, 5.73359, 1.25, 0.114771, 6.75796, 1.76732, 0, 6.17699, 1.25, 0.728514, -5.73505, 0.647023, 0.948757, -5.85358, 1.76732, 0, -6.17846, 1.25, 0.114771, -6.75943, -9.53674e-07, 1.54831, -4.78384, -9.53674e-07, 1.02388, -5.8931, -0.647515, 2.17624, -2.42338, -0.647515, 2.35488, -1.21755, -0.647515, 1.88014, -3.60434, -0.647515, 1.46975, -4.75165, -0.647515, 2.41459, -0.00146341, -0.647515, 2.35488, 1.21608, -0.647515, 2.17624, 2.42192, -0.647515, 1.88014, 3.60288, -0.647515, 1.46975, 4.75018, -9.53674e-07, 1.54831, 4.78238, -9.53674e-07, 1.02388, 5.89163, 0.647023, 0.322533, 6.89699, 1.42962, 0, 6.6804, 1.25, 0, 6.91308, 0.647023, 0.322533, -6.89845, 1.42962, 0, -6.68187, 1.25, 0, -6.91455, -9.53674e-07, 0.393256, -6.94528, -0.647515, 0.322533, -6.89845, -0.647515, 0.948757, -5.85358, -1.25, 1.93128, -2.37363, -1.25, 2.10625, -1.19267, -1.25, 1.64105, -3.53264, -1.25, 2.16499, -0.00146341, -1.25, 1.23899, -4.65653, -1.25, 2.10625, 1.1912, -1.25, 1.93128, 2.37216, -1.25, 1.64105, 3.53117, -1.25, 1.23899, 4.65506, -0.647515, 0.948757, 5.85212, -0.647515, 0.322533, 6.89699, -9.53674e-07, 0.393256, 6.94381, -9.53674e-07, 0, 7.47503, 0.647023, 0, 7.33161, 0.647023, 0, -7.33308, -9.53674e-07, 0, -7.47503, -0.647515, 0, -7.33308, -1.25, 0, -6.91455, -1.25, 0.114771, -6.75943, -1.25, 0.728514, -5.73505, -1.76782, 1.26101, -3.41703, -1.76782, 1.54145, -2.29607, -1.76782, 1.71104, -1.15462, -1.76782, 1.76757, -0.00146341, -1.76782, 1.71104, 1.15316, -1.76782, 0.378083, -5.54773, -1.76782, 0.871917, -4.50433, -1.76782, 1.54145, 2.29461, -1.76782, 1.26101, 3.41557, -1.76782, 0.871917, 4.50287, -1.76782, 0.378083, 5.54627, -1.25, 0.728514, 5.73359, -1.25, 0.114771, 6.75796, -1.25, 0, 6.91308, -0.647515, 0, 7.33161, -1.43011, 0, -6.68187, -1.76782, 0, -6.17846, -2.16523, 0.765466, -3.2663, -2.16523, 1.03367, -2.19509, -2.16523, 1.19567, -1.1034, -2.16523, 1.25, -0.00146341, -2.16523, 1.19567, 1.10194, -2.16523, 1.03367, 2.19363, -2.0972, 0, -5.34579, -2.16523, 0.3935, -4.30531, -2.16523, 0.765466, 3.26484, -2.16523, 0.3935, 4.30385, -2.0972, 0, 5.34432, -1.76782, 0, 6.17699, -1.43011, 0, 6.6804, -2.41484, 0.18843, -3.09069, -2.41484, 0.442443, -2.07802, -2.34192, 0, -4.14287, -2.41484, 0, -3.61898, -2.41484, 0.595634, -1.04486, -2.41484, 0.647024, -0.00146341, -2.41484, 0.595634, 1.0434, -2.41484, 0.442443, 2.07656, -2.16523, 0, -5.13798, -2.41484, 0.18843, 3.08923, -2.41484, 0, 3.61751, -2.34192, 0, 4.14141, -2.16523, 0, 5.13652, -2.44078, 0, -3.03362, -2.47455, 0, -1.99022, -2.49364, 0, -0.986329, -2.5, 0, -0.00146341, -2.49364, 0, 0.984865, -2.47455, 0, 1.98876, -2.44078, 0, 3.03216)
-[sub_resource type="ArrayMesh" id=2]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sgl8b"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_11324"]
+_surfaces = [{
+"aabb": AABB(-2.5, 0, -7.47503, 5, 2.5, 14.9501),
+"format": 4097,
+"index_count": 852,
+"index_data": PackedByteArray(121, 0, 1, 0, 0, 0, 121, 0, 122, 0, 1, 0, 122, 0, 2, 0, 1, 0, 122, 0, 123, 0, 2, 0, 123, 0, 124, 0, 2, 0, 125, 0, 126, 0, 3, 0, 126, 0, 4, 0, 3, 0, 126, 0, 127, 0, 4, 0, 127, 0, 0, 0, 4, 0, 127, 0, 121, 0, 0, 0, 0, 0, 6, 0, 5, 0, 0, 0, 1, 0, 6, 0, 1, 0, 7, 0, 6, 0, 1, 0, 2, 0, 7, 0, 128, 0, 2, 0, 124, 0, 2, 0, 8, 0, 7, 0, 2, 0, 128, 0, 8, 0, 128, 0, 129, 0, 8, 0, 130, 0, 131, 0, 9, 0, 125, 0, 9, 0, 131, 0, 9, 0, 3, 0, 10, 0, 9, 0, 125, 0, 3, 0, 3, 0, 11, 0, 10, 0, 3, 0, 4, 0, 11, 0, 4, 0, 5, 0, 11, 0, 4, 0, 0, 0, 5, 0, 5, 0, 13, 0, 12, 0, 5, 0, 6, 0, 13, 0, 6, 0, 14, 0, 13, 0, 6, 0, 7, 0, 14, 0, 7, 0, 15, 0, 14, 0, 7, 0, 8, 0, 15, 0, 132, 0, 8, 0, 129, 0, 8, 0, 16, 0, 15, 0, 8, 0, 132, 0, 16, 0, 132, 0, 133, 0, 16, 0, 134, 0, 135, 0, 17, 0, 17, 0, 9, 0, 18, 0, 9, 0, 135, 0, 130, 0, 9, 0, 17, 0, 135, 0, 9, 0, 19, 0, 18, 0, 9, 0, 10, 0, 19, 0, 10, 0, 20, 0, 19, 0, 10, 0, 11, 0, 20, 0, 11, 0, 12, 0, 20, 0, 11, 0, 5, 0, 12, 0, 12, 0, 22, 0, 21, 0, 12, 0, 13, 0, 22, 0, 13, 0, 23, 0, 22, 0, 13, 0, 14, 0, 23, 0, 14, 0, 24, 0, 23, 0, 14, 0, 15, 0, 24, 0, 15, 0, 25, 0, 24, 0, 15, 0, 16, 0, 25, 0, 136, 0, 16, 0, 133, 0, 16, 0, 26, 0, 25, 0, 16, 0, 136, 0, 26, 0, 136, 0, 137, 0, 26, 0, 138, 0, 139, 0, 27, 0, 27, 0, 17, 0, 28, 0, 17, 0, 139, 0, 134, 0, 17, 0, 27, 0, 139, 0, 17, 0, 29, 0, 28, 0, 17, 0, 18, 0, 29, 0, 18, 0, 30, 0, 29, 0, 18, 0, 19, 0, 30, 0, 19, 0, 31, 0, 30, 0, 19, 0, 20, 0, 31, 0, 20, 0, 21, 0, 31, 0, 20, 0, 12, 0, 21, 0, 21, 0, 33, 0, 32, 0, 21, 0, 22, 0, 33, 0, 22, 0, 34, 0, 33, 0, 22, 0, 23, 0, 34, 0, 23, 0, 35, 0, 34, 0, 23, 0, 24, 0, 35, 0, 24, 0, 36, 0, 35, 0, 24, 0, 25, 0, 36, 0, 25, 0, 37, 0, 36, 0, 25, 0, 26, 0, 37, 0, 137, 0, 37, 0, 26, 0, 137, 0, 140, 0, 37, 0, 38, 0, 138, 0, 27, 0, 38, 0, 141, 0, 138, 0, 27, 0, 39, 0, 38, 0, 27, 0, 28, 0, 39, 0, 28, 0, 40, 0, 39, 0, 28, 0, 29, 0, 40, 0, 29, 0, 41, 0, 40, 0, 29, 0, 30, 0, 41, 0, 30, 0, 42, 0, 41, 0, 30, 0, 31, 0, 42, 0, 31, 0, 32, 0, 42, 0, 31, 0, 21, 0, 32, 0, 32, 0, 44, 0, 43, 0, 32, 0, 33, 0, 44, 0, 33, 0, 45, 0, 44, 0, 33, 0, 34, 0, 45, 0, 34, 0, 46, 0, 45, 0, 34, 0, 35, 0, 46, 0, 35, 0, 47, 0, 46, 0, 35, 0, 36, 0, 47, 0, 36, 0, 48, 0, 47, 0, 36, 0, 37, 0, 48, 0, 140, 0, 48, 0, 37, 0, 140, 0, 142, 0, 48, 0, 143, 0, 38, 0, 49, 0, 143, 0, 141, 0, 38, 0, 38, 0, 50, 0, 49, 0, 38, 0, 39, 0, 50, 0, 39, 0, 51, 0, 50, 0, 39, 0, 40, 0, 51, 0, 40, 0, 52, 0, 51, 0, 40, 0, 41, 0, 52, 0, 41, 0, 53, 0, 52, 0, 41, 0, 42, 0, 53, 0, 42, 0, 43, 0, 53, 0, 42, 0, 32, 0, 43, 0, 43, 0, 55, 0, 54, 0, 43, 0, 44, 0, 55, 0, 44, 0, 56, 0, 55, 0, 44, 0, 45, 0, 56, 0, 45, 0, 57, 0, 56, 0, 45, 0, 46, 0, 57, 0, 46, 0, 58, 0, 57, 0, 46, 0, 47, 0, 58, 0, 47, 0, 59, 0, 58, 0, 47, 0, 48, 0, 59, 0, 142, 0, 59, 0, 48, 0, 142, 0, 60, 0, 59, 0, 62, 0, 143, 0, 49, 0, 62, 0, 61, 0, 143, 0, 49, 0, 63, 0, 62, 0, 49, 0, 50, 0, 63, 0, 50, 0, 64, 0, 63, 0, 50, 0, 51, 0, 64, 0, 51, 0, 65, 0, 64, 0, 51, 0, 52, 0, 65, 0, 52, 0, 66, 0, 65, 0, 52, 0, 53, 0, 66, 0, 53, 0, 54, 0, 66, 0, 53, 0, 43, 0, 54, 0, 54, 0, 68, 0, 67, 0, 54, 0, 55, 0, 68, 0, 55, 0, 69, 0, 68, 0, 55, 0, 56, 0, 69, 0, 56, 0, 70, 0, 69, 0, 56, 0, 57, 0, 70, 0, 57, 0, 71, 0, 70, 0, 57, 0, 58, 0, 71, 0, 58, 0, 72, 0, 71, 0, 58, 0, 59, 0, 72, 0, 60, 0, 72, 0, 59, 0, 60, 0, 144, 0, 72, 0, 73, 0, 61, 0, 62, 0, 73, 0, 145, 0, 61, 0, 62, 0, 74, 0, 73, 0, 62, 0, 63, 0, 74, 0, 63, 0, 75, 0, 74, 0, 63, 0, 64, 0, 75, 0, 64, 0, 76, 0, 75, 0, 64, 0, 65, 0, 76, 0, 65, 0, 77, 0, 76, 0, 65, 0, 66, 0, 77, 0, 66, 0, 67, 0, 77, 0, 66, 0, 54, 0, 67, 0, 67, 0, 79, 0, 78, 0, 67, 0, 68, 0, 79, 0, 68, 0, 80, 0, 79, 0, 68, 0, 69, 0, 80, 0, 69, 0, 81, 0, 80, 0, 69, 0, 70, 0, 81, 0, 70, 0, 82, 0, 81, 0, 70, 0, 71, 0, 82, 0, 71, 0, 83, 0, 82, 0, 71, 0, 72, 0, 83, 0, 144, 0, 83, 0, 72, 0, 144, 0, 146, 0, 83, 0, 84, 0, 145, 0, 73, 0, 84, 0, 147, 0, 145, 0, 73, 0, 85, 0, 84, 0, 73, 0, 74, 0, 85, 0, 74, 0, 86, 0, 85, 0, 74, 0, 75, 0, 86, 0, 75, 0, 87, 0, 86, 0, 75, 0, 76, 0, 87, 0, 76, 0, 88, 0, 87, 0, 76, 0, 77, 0, 88, 0, 77, 0, 78, 0, 88, 0, 77, 0, 67, 0, 78, 0, 78, 0, 90, 0, 89, 0, 78, 0, 79, 0, 90, 0, 79, 0, 91, 0, 90, 0, 79, 0, 80, 0, 91, 0, 80, 0, 92, 0, 91, 0, 80, 0, 81, 0, 92, 0, 81, 0, 93, 0, 92, 0, 81, 0, 82, 0, 93, 0, 82, 0, 94, 0, 93, 0, 82, 0, 83, 0, 94, 0, 146, 0, 94, 0, 83, 0, 146, 0, 148, 0, 94, 0, 95, 0, 147, 0, 84, 0, 95, 0, 149, 0, 147, 0, 84, 0, 96, 0, 95, 0, 84, 0, 85, 0, 96, 0, 85, 0, 97, 0, 96, 0, 85, 0, 86, 0, 97, 0, 86, 0, 98, 0, 97, 0, 86, 0, 87, 0, 98, 0, 87, 0, 99, 0, 98, 0, 87, 0, 88, 0, 99, 0, 88, 0, 89, 0, 99, 0, 88, 0, 78, 0, 89, 0, 89, 0, 101, 0, 100, 0, 89, 0, 90, 0, 101, 0, 90, 0, 102, 0, 101, 0, 90, 0, 91, 0, 102, 0, 91, 0, 103, 0, 102, 0, 91, 0, 92, 0, 103, 0, 92, 0, 104, 0, 103, 0, 92, 0, 93, 0, 104, 0, 94, 0, 104, 0, 93, 0, 104, 0, 151, 0, 150, 0, 104, 0, 94, 0, 151, 0, 148, 0, 151, 0, 94, 0, 149, 0, 95, 0, 152, 0, 153, 0, 96, 0, 105, 0, 96, 0, 152, 0, 95, 0, 96, 0, 153, 0, 152, 0, 96, 0, 106, 0, 105, 0, 96, 0, 97, 0, 106, 0, 97, 0, 107, 0, 106, 0, 97, 0, 98, 0, 107, 0, 98, 0, 108, 0, 107, 0, 98, 0, 99, 0, 108, 0, 99, 0, 100, 0, 108, 0, 99, 0, 89, 0, 100, 0, 100, 0, 110, 0, 109, 0, 100, 0, 101, 0, 110, 0, 101, 0, 111, 0, 110, 0, 101, 0, 102, 0, 111, 0, 102, 0, 112, 0, 111, 0, 102, 0, 103, 0, 112, 0, 104, 0, 112, 0, 103, 0, 112, 0, 155, 0, 154, 0, 112, 0, 104, 0, 155, 0, 150, 0, 155, 0, 104, 0, 153, 0, 105, 0, 156, 0, 157, 0, 106, 0, 113, 0, 106, 0, 156, 0, 105, 0, 106, 0, 157, 0, 156, 0, 106, 0, 114, 0, 113, 0, 106, 0, 107, 0, 114, 0, 107, 0, 115, 0, 114, 0, 107, 0, 108, 0, 115, 0, 108, 0, 109, 0, 115, 0, 108, 0, 100, 0, 109, 0, 109, 0, 117, 0, 116, 0, 109, 0, 110, 0, 117, 0, 110, 0, 118, 0, 117, 0, 110, 0, 111, 0, 118, 0, 158, 0, 112, 0, 159, 0, 112, 0, 118, 0, 111, 0, 112, 0, 158, 0, 118, 0, 154, 0, 159, 0, 112, 0, 157, 0, 113, 0, 160, 0, 160, 0, 119, 0, 161, 0, 119, 0, 113, 0, 114, 0, 119, 0, 160, 0, 113, 0, 114, 0, 120, 0, 119, 0, 114, 0, 115, 0, 120, 0, 115, 0, 116, 0, 120, 0, 115, 0, 109, 0, 116, 0, 163, 0, 116, 0, 117, 0, 163, 0, 162, 0, 116, 0, 164, 0, 117, 0, 118, 0, 164, 0, 163, 0, 117, 0, 118, 0, 158, 0, 164, 0, 165, 0, 161, 0, 119, 0, 166, 0, 119, 0, 120, 0, 166, 0, 165, 0, 119, 0, 162, 0, 120, 0, 116, 0, 162, 0, 166, 0, 120, 0),
+"lods": [0.280658, PackedByteArray(122, 0, 123, 0, 2, 0, 123, 0, 124, 0, 2, 0, 128, 0, 2, 0, 124, 0, 122, 0, 2, 0, 6, 0, 121, 0, 122, 0, 6, 0, 2, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 2, 0, 24, 0, 6, 0, 2, 0, 132, 0, 24, 0, 121, 0, 6, 0, 5, 0, 5, 0, 6, 0, 24, 0, 127, 0, 121, 0, 5, 0, 132, 0, 133, 0, 136, 0, 132, 0, 136, 0, 24, 0, 127, 0, 5, 0, 22, 0, 5, 0, 24, 0, 22, 0, 24, 0, 136, 0, 37, 0, 137, 0, 37, 0, 136, 0, 137, 0, 140, 0, 37, 0, 140, 0, 142, 0, 37, 0, 24, 0, 37, 0, 47, 0, 142, 0, 72, 0, 37, 0, 47, 0, 37, 0, 72, 0, 142, 0, 60, 0, 72, 0, 24, 0, 47, 0, 46, 0, 46, 0, 47, 0, 72, 0, 60, 0, 144, 0, 72, 0, 24, 0, 46, 0, 45, 0, 46, 0, 72, 0, 45, 0, 22, 0, 24, 0, 45, 0, 144, 0, 82, 0, 72, 0, 45, 0, 72, 0, 82, 0, 144, 0, 146, 0, 82, 0, 146, 0, 151, 0, 82, 0, 146, 0, 148, 0, 151, 0, 82, 0, 151, 0, 81, 0, 45, 0, 82, 0, 81, 0, 151, 0, 104, 0, 81, 0, 104, 0, 151, 0, 150, 0, 150, 0, 155, 0, 104, 0, 112, 0, 104, 0, 155, 0, 112, 0, 155, 0, 154, 0, 154, 0, 159, 0, 112, 0, 158, 0, 112, 0, 159, 0, 112, 0, 158, 0, 118, 0, 118, 0, 158, 0, 164, 0, 164, 0, 163, 0, 118, 0, 102, 0, 112, 0, 118, 0, 102, 0, 104, 0, 112, 0, 90, 0, 118, 0, 163, 0, 90, 0, 102, 0, 118, 0, 89, 0, 90, 0, 163, 0, 89, 0, 163, 0, 162, 0, 79, 0, 102, 0, 90, 0, 80, 0, 104, 0, 102, 0, 79, 0, 80, 0, 102, 0, 80, 0, 81, 0, 104, 0, 77, 0, 79, 0, 90, 0, 77, 0, 90, 0, 89, 0, 54, 0, 80, 0, 79, 0, 56, 0, 81, 0, 80, 0, 54, 0, 56, 0, 80, 0, 56, 0, 45, 0, 81, 0, 44, 0, 56, 0, 54, 0, 44, 0, 45, 0, 56, 0, 66, 0, 54, 0, 79, 0, 66, 0, 79, 0, 77, 0, 66, 0, 44, 0, 54, 0, 33, 0, 45, 0, 44, 0, 22, 0, 45, 0, 33, 0, 22, 0, 33, 0, 44, 0, 19, 0, 22, 0, 44, 0, 19, 0, 44, 0, 66, 0, 10, 0, 22, 0, 19, 0, 127, 0, 22, 0, 10, 0, 126, 0, 127, 0, 10, 0, 9, 0, 126, 0, 10, 0, 9, 0, 10, 0, 19, 0, 9, 0, 125, 0, 126, 0, 125, 0, 9, 0, 131, 0, 130, 0, 131, 0, 9, 0, 9, 0, 135, 0, 130, 0, 9, 0, 19, 0, 41, 0, 41, 0, 19, 0, 66, 0, 9, 0, 17, 0, 135, 0, 134, 0, 135, 0, 17, 0, 9, 0, 41, 0, 40, 0, 17, 0, 9, 0, 40, 0, 40, 0, 41, 0, 66, 0, 17, 0, 139, 0, 134, 0, 139, 0, 17, 0, 40, 0, 139, 0, 141, 0, 138, 0, 143, 0, 141, 0, 139, 0, 143, 0, 139, 0, 73, 0, 139, 0, 40, 0, 73, 0, 73, 0, 61, 0, 143, 0, 73, 0, 145, 0, 61, 0, 73, 0, 147, 0, 145, 0, 152, 0, 147, 0, 73, 0, 152, 0, 149, 0, 147, 0, 73, 0, 40, 0, 64, 0, 40, 0, 66, 0, 64, 0, 73, 0, 96, 0, 152, 0, 73, 0, 64, 0, 96, 0, 96, 0, 153, 0, 152, 0, 153, 0, 96, 0, 156, 0, 96, 0, 106, 0, 156, 0, 106, 0, 157, 0, 156, 0, 64, 0, 86, 0, 96, 0, 64, 0, 66, 0, 86, 0, 96, 0, 86, 0, 106, 0, 157, 0, 106, 0, 160, 0, 66, 0, 88, 0, 86, 0, 66, 0, 77, 0, 88, 0, 88, 0, 77, 0, 89, 0, 86, 0, 88, 0, 107, 0, 86, 0, 107, 0, 106, 0, 88, 0, 89, 0, 107, 0, 106, 0, 119, 0, 160, 0, 106, 0, 107, 0, 119, 0, 160, 0, 119, 0, 161, 0, 165, 0, 161, 0, 119, 0, 166, 0, 165, 0, 119, 0, 107, 0, 89, 0, 115, 0, 107, 0, 115, 0, 119, 0, 119, 0, 115, 0, 166, 0, 115, 0, 89, 0, 162, 0, 115, 0, 162, 0, 166, 0), 0.614485, PackedByteArray(121, 0, 122, 0, 22, 0, 127, 0, 121, 0, 22, 0, 122, 0, 123, 0, 22, 0, 127, 0, 22, 0, 126, 0, 128, 0, 123, 0, 124, 0, 123, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 123, 0, 24, 0, 22, 0, 123, 0, 132, 0, 24, 0, 126, 0, 22, 0, 44, 0, 22, 0, 24, 0, 44, 0, 132, 0, 133, 0, 136, 0, 132, 0, 136, 0, 24, 0, 24, 0, 136, 0, 140, 0, 137, 0, 140, 0, 136, 0, 24, 0, 140, 0, 144, 0, 142, 0, 144, 0, 140, 0, 142, 0, 60, 0, 144, 0, 24, 0, 144, 0, 80, 0, 44, 0, 24, 0, 80, 0, 80, 0, 144, 0, 155, 0, 79, 0, 44, 0, 80, 0, 80, 0, 155, 0, 79, 0, 144, 0, 151, 0, 155, 0, 146, 0, 151, 0, 144, 0, 146, 0, 148, 0, 151, 0, 155, 0, 151, 0, 150, 0, 159, 0, 155, 0, 154, 0, 79, 0, 155, 0, 159, 0, 159, 0, 158, 0, 164, 0, 79, 0, 159, 0, 164, 0, 79, 0, 164, 0, 163, 0, 162, 0, 79, 0, 163, 0, 66, 0, 44, 0, 79, 0, 66, 0, 79, 0, 162, 0, 126, 0, 44, 0, 66, 0, 66, 0, 162, 0, 107, 0, 107, 0, 162, 0, 166, 0, 135, 0, 126, 0, 66, 0, 135, 0, 125, 0, 126, 0, 125, 0, 135, 0, 131, 0, 130, 0, 131, 0, 135, 0, 165, 0, 107, 0, 166, 0, 64, 0, 66, 0, 107, 0, 135, 0, 66, 0, 64, 0, 134, 0, 135, 0, 139, 0, 139, 0, 135, 0, 64, 0, 139, 0, 64, 0, 138, 0, 160, 0, 165, 0, 161, 0, 156, 0, 165, 0, 160, 0, 156, 0, 107, 0, 165, 0, 157, 0, 156, 0, 160, 0, 152, 0, 107, 0, 156, 0, 64, 0, 107, 0, 152, 0, 153, 0, 152, 0, 156, 0, 138, 0, 64, 0, 73, 0, 73, 0, 64, 0, 152, 0, 143, 0, 141, 0, 138, 0, 143, 0, 138, 0, 73, 0, 73, 0, 61, 0, 143, 0, 73, 0, 145, 0, 61, 0, 73, 0, 147, 0, 145, 0, 152, 0, 147, 0, 73, 0, 152, 0, 149, 0, 147, 0), 1.83976, PackedByteArray(128, 0, 123, 0, 124, 0, 123, 0, 128, 0, 132, 0, 128, 0, 129, 0, 132, 0, 123, 0, 132, 0, 127, 0, 127, 0, 132, 0, 163, 0, 131, 0, 127, 0, 163, 0, 137, 0, 140, 0, 132, 0, 132, 0, 140, 0, 60, 0, 142, 0, 60, 0, 140, 0, 132, 0, 60, 0, 163, 0, 159, 0, 158, 0, 163, 0, 163, 0, 154, 0, 159, 0, 163, 0, 60, 0, 154, 0, 60, 0, 151, 0, 154, 0, 154, 0, 151, 0, 150, 0, 146, 0, 151, 0, 60, 0, 146, 0, 148, 0, 151, 0, 131, 0, 163, 0, 153, 0, 153, 0, 163, 0, 162, 0, 153, 0, 162, 0, 166, 0, 130, 0, 131, 0, 153, 0, 165, 0, 153, 0, 166, 0, 153, 0, 165, 0, 160, 0, 160, 0, 165, 0, 161, 0, 157, 0, 153, 0, 160, 0, 138, 0, 130, 0, 153, 0, 134, 0, 130, 0, 138, 0, 138, 0, 153, 0, 147, 0, 143, 0, 138, 0, 147, 0, 143, 0, 141, 0, 138, 0, 147, 0, 61, 0, 143, 0, 147, 0, 145, 0, 61, 0), 1.90169, PackedByteArray(134, 0, 133, 0, 158, 0, 134, 0, 158, 0, 61, 0, 160, 0, 61, 0, 158, 0, 158, 0, 133, 0, 148, 0), 2.01908, PackedByteArray(141, 0, 130, 0, 145, 0, 143, 0, 141, 0, 145, 0, 145, 0, 61, 0, 143, 0, 145, 0, 130, 0, 166, 0, 130, 0, 128, 0, 166, 0, 160, 0, 145, 0, 166, 0, 128, 0, 137, 0, 148, 0, 128, 0, 148, 0, 166, 0)],
+"primitive": 3,
+"vertex_count": 167,
+"vertex_data": PackedByteArray(162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_qya8c"]
resource_name = "mound_Torus001"
-surfaces/0 = {
-"aabb": AABB( -2.5, 0, -7.47503, 5, 2.5, 14.9501 ),
-"array_data": PoolByteArray( 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 202, 115, 0, 87, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 196, 116, 0, 90, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 60, 116, 0, 90, 220, 198, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 54, 115, 0, 87, 220, 198, 0, 56, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 60, 116, 0, 90, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 54, 115, 0, 87, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 65, 97, 0, 87, 220, 198, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 70, 98, 0, 90, 220, 198, 226, 176, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 65, 97, 0, 87, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 70, 98, 0, 90, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 79, 82, 0, 90, 220, 198, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 76, 81, 0, 87, 220, 198, 113, 186, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 180, 81, 0, 87, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 177, 82, 0, 90, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 186, 98, 0, 90, 220, 198, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 191, 97, 0, 87, 220, 198, 56, 63, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 186, 98, 0, 90, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 191, 97, 0, 87, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 202, 115, 0, 87, 220, 198, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 196, 116, 0, 90, 220, 198, 156, 60, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 208, 115, 0, 83, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 202, 115, 0, 87, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 54, 115, 0, 87, 162, 197, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 48, 115, 0, 83, 162, 197, 0, 56, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 54, 115, 0, 87, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 48, 115, 0, 83, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 61, 96, 0, 83, 162, 197, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 65, 97, 0, 87, 162, 197, 226, 176, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 61, 96, 0, 83, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 65, 97, 0, 87, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 72, 80, 0, 83, 162, 197, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 76, 81, 0, 87, 162, 197, 113, 186, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 72, 80, 0, 83, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 76, 81, 0, 87, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 86, 65, 0, 87, 162, 197, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 83, 64, 0, 83, 162, 197, 212, 189, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 173, 64, 0, 83, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 170, 65, 0, 87, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 184, 80, 0, 83, 162, 197, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 180, 81, 0, 87, 162, 197, 234, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 184, 80, 0, 83, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 180, 81, 0, 87, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 191, 97, 0, 87, 162, 197, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 195, 96, 0, 83, 162, 197, 56, 63, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 191, 97, 0, 87, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 195, 96, 0, 83, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 208, 115, 0, 83, 162, 197, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 202, 115, 0, 87, 162, 197, 156, 60, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 208, 115, 0, 83, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 214, 115, 0, 80, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 42, 115, 0, 80, 104, 196, 0, 56, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 48, 115, 0, 83, 104, 196, 0, 56, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 42, 115, 0, 80, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 48, 115, 0, 83, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 61, 96, 0, 83, 104, 196, 226, 176, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 56, 95, 0, 80, 104, 196, 226, 176, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 61, 96, 0, 83, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 56, 95, 0, 80, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 68, 79, 0, 80, 104, 196, 113, 186, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 72, 80, 0, 83, 104, 196, 113, 186, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 68, 79, 0, 80, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 72, 80, 0, 83, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 80, 62, 0, 80, 104, 196, 212, 189, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 83, 64, 0, 83, 104, 196, 212, 189, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 80, 62, 0, 80, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 83, 64, 0, 83, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 96, 45, 0, 83, 104, 196, 56, 192, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 94, 44, 0, 80, 104, 196, 56, 192, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 160, 45, 0, 83, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 162, 44, 0, 80, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 176, 62, 0, 80, 104, 196, 56, 66, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 173, 64, 0, 83, 104, 196, 56, 66, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 176, 62, 0, 80, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 173, 64, 0, 83, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 184, 80, 0, 83, 104, 196, 234, 64, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 188, 79, 0, 80, 104, 196, 234, 64, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 184, 80, 0, 83, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 188, 79, 0, 80, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 200, 95, 0, 80, 104, 196, 56, 63, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 195, 96, 0, 83, 104, 196, 56, 63, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 200, 95, 0, 80, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 195, 96, 0, 83, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 208, 115, 0, 83, 104, 196, 156, 60, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 214, 115, 0, 80, 104, 196, 156, 60, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 214, 115, 0, 80, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 221, 114, 0, 76, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 42, 115, 0, 80, 92, 194, 0, 56, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 35, 114, 0, 76, 92, 194, 0, 56, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 42, 115, 0, 80, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 35, 114, 0, 76, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 51, 94, 0, 76, 92, 194, 226, 176, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 56, 95, 0, 80, 92, 194, 226, 176, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 51, 94, 0, 76, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 56, 95, 0, 80, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 64, 77, 0, 76, 92, 194, 113, 186, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 68, 79, 0, 80, 92, 194, 113, 186, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 64, 77, 0, 76, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 68, 79, 0, 80, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 80, 62, 0, 80, 92, 194, 212, 189, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 78, 61, 0, 76, 92, 194, 212, 189, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 80, 62, 0, 80, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 78, 61, 0, 76, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 93, 42, 0, 76, 92, 194, 56, 192, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 94, 44, 0, 80, 92, 194, 56, 192, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 93, 42, 0, 76, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 94, 44, 0, 80, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 113, 18, 0, 80, 92, 194, 134, 193, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 113, 17, 0, 76, 92, 194, 134, 193, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 143, 17, 0, 76, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 143, 18, 0, 80, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 162, 44, 0, 80, 92, 194, 134, 67, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 163, 42, 0, 76, 92, 194, 134, 67, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 162, 44, 0, 80, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 163, 42, 0, 76, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 178, 61, 0, 76, 92, 194, 56, 66, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 176, 62, 0, 80, 92, 194, 56, 66, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 178, 61, 0, 76, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 176, 62, 0, 80, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 188, 79, 0, 80, 92, 194, 234, 64, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 192, 77, 0, 76, 92, 194, 234, 64, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 188, 79, 0, 80, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 192, 77, 0, 76, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 200, 95, 0, 80, 92, 194, 56, 63, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 205, 94, 0, 76, 92, 194, 56, 63, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 200, 95, 0, 80, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 205, 94, 0, 76, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 214, 115, 0, 80, 92, 194, 156, 60, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 221, 114, 0, 76, 92, 194, 156, 60, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 221, 114, 0, 76, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 229, 113, 0, 71, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 27, 113, 0, 71, 208, 191, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 35, 114, 0, 76, 208, 191, 0, 56, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 27, 113, 0, 71, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 35, 114, 0, 76, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 45, 93, 0, 71, 208, 191, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 51, 94, 0, 76, 208, 191, 226, 176, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 45, 93, 0, 71, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 51, 94, 0, 76, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 64, 77, 0, 76, 208, 191, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 60, 75, 0, 71, 208, 191, 113, 186, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 64, 77, 0, 76, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 60, 75, 0, 71, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 75, 59, 0, 71, 208, 191, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 78, 61, 0, 76, 208, 191, 212, 189, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 75, 59, 0, 71, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 78, 61, 0, 76, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 93, 42, 0, 76, 208, 191, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 91, 40, 0, 71, 208, 191, 56, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 93, 42, 0, 76, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 91, 40, 0, 71, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 113, 17, 0, 76, 208, 191, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 112, 16, 0, 71, 208, 191, 134, 193, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 143, 17, 0, 76, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 144, 16, 0, 71, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 165, 40, 0, 71, 208, 191, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 163, 42, 0, 76, 208, 191, 134, 67, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 165, 40, 0, 71, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 163, 42, 0, 76, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 178, 61, 0, 76, 208, 191, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 181, 59, 0, 71, 208, 191, 56, 66, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 178, 61, 0, 76, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 181, 59, 0, 71, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 196, 75, 0, 71, 208, 191, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 192, 77, 0, 76, 208, 191, 234, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 196, 75, 0, 71, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 192, 77, 0, 76, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 205, 94, 0, 76, 208, 191, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 211, 93, 0, 71, 208, 191, 56, 63, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 205, 94, 0, 76, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 211, 93, 0, 71, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 221, 114, 0, 76, 208, 191, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 229, 113, 0, 71, 208, 191, 156, 60, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 229, 113, 0, 71, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 237, 112, 0, 66, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 27, 113, 0, 71, 208, 185, 0, 56, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 19, 112, 0, 66, 208, 185, 0, 56, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 27, 113, 0, 71, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 19, 112, 0, 66, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 40, 91, 0, 66, 208, 185, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 45, 93, 0, 71, 208, 185, 226, 176, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 40, 91, 0, 66, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 45, 93, 0, 71, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 60, 75, 0, 71, 208, 185, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 57, 73, 0, 66, 208, 185, 113, 186, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 60, 75, 0, 71, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 57, 73, 0, 66, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 73, 56, 0, 66, 208, 185, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 75, 59, 0, 71, 208, 185, 212, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 73, 56, 0, 66, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 75, 59, 0, 71, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 91, 40, 0, 71, 208, 185, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 90, 38, 0, 66, 208, 185, 56, 192, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 91, 40, 0, 71, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 90, 38, 0, 66, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 112, 15, 0, 66, 208, 185, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 112, 16, 0, 71, 208, 185, 134, 193, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 144, 15, 0, 66, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 144, 16, 0, 71, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 166, 38, 0, 66, 208, 185, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 165, 40, 0, 71, 208, 185, 134, 67, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 166, 38, 0, 66, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 165, 40, 0, 71, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 181, 59, 0, 71, 208, 185, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 183, 56, 0, 66, 208, 185, 56, 66, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 181, 59, 0, 71, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 183, 56, 0, 66, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 199, 73, 0, 66, 208, 185, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 196, 75, 0, 71, 208, 185, 234, 64, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 199, 73, 0, 66, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 196, 75, 0, 71, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 211, 93, 0, 71, 208, 185, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 216, 91, 0, 66, 208, 185, 56, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 211, 93, 0, 71, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 216, 91, 0, 66, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 229, 113, 0, 71, 208, 185, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 237, 112, 0, 66, 208, 185, 156, 60, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 242, 107, 0, 60, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 237, 112, 0, 66, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 14, 107, 0, 60, 255, 55, 0, 56, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 19, 112, 0, 66, 255, 55, 0, 56, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 14, 107, 0, 60, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 19, 112, 0, 66, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 40, 91, 0, 66, 255, 55, 226, 176, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 35, 86, 0, 60, 255, 55, 226, 176, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 40, 91, 0, 66, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 35, 86, 0, 60, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 53, 69, 0, 60, 255, 55, 113, 186, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 57, 73, 0, 66, 255, 55, 113, 186, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 53, 69, 0, 60, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 57, 73, 0, 66, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 73, 56, 0, 66, 255, 55, 212, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 70, 53, 0, 60, 255, 55, 212, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 73, 56, 0, 66, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 70, 53, 0, 60, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 88, 36, 0, 60, 255, 55, 56, 192, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 90, 38, 0, 66, 255, 55, 56, 192, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 88, 36, 0, 60, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 90, 38, 0, 66, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 111, 14, 0, 60, 255, 55, 134, 193, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 112, 15, 0, 66, 255, 55, 134, 193, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 111, 14, 0, 60, 255, 55, 212, 194, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 112, 15, 0, 66, 255, 55, 212, 194, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 145, 14, 0, 60, 255, 55, 106, 68, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 144, 15, 0, 66, 255, 55, 106, 68, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 145, 14, 0, 60, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 144, 15, 0, 66, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 166, 38, 0, 66, 255, 55, 134, 67, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 168, 36, 0, 60, 255, 55, 134, 67, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 166, 38, 0, 66, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 168, 36, 0, 60, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 186, 53, 0, 60, 255, 55, 56, 66, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 183, 56, 0, 66, 255, 55, 56, 66, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 186, 53, 0, 60, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 183, 56, 0, 66, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 199, 73, 0, 66, 255, 55, 234, 64, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 203, 69, 0, 60, 255, 55, 234, 64, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 199, 73, 0, 66, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 203, 69, 0, 60, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 216, 91, 0, 66, 255, 55, 56, 63, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 221, 86, 0, 60, 255, 55, 56, 63, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 216, 91, 0, 66, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 221, 86, 0, 60, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 242, 107, 0, 60, 255, 55, 156, 60, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 237, 112, 0, 66, 255, 55, 156, 60, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 242, 107, 0, 60, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 243, 99, 0, 55, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 13, 99, 0, 55, 232, 62, 0, 56, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 14, 107, 0, 60, 232, 62, 0, 56, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 13, 99, 0, 55, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 14, 107, 0, 60, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 35, 86, 0, 60, 232, 62, 226, 176, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 33, 81, 0, 55, 232, 62, 226, 176, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 35, 86, 0, 60, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 33, 81, 0, 55, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 51, 66, 0, 55, 232, 62, 113, 186, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 53, 69, 0, 60, 232, 62, 113, 186, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 51, 66, 0, 55, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 53, 69, 0, 60, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 67, 51, 0, 55, 232, 62, 212, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 70, 53, 0, 60, 232, 62, 212, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 67, 51, 0, 55, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 70, 53, 0, 60, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 88, 36, 0, 60, 232, 62, 56, 192, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 86, 35, 0, 55, 232, 62, 56, 192, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 88, 36, 0, 60, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 86, 35, 0, 55, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 111, 14, 0, 60, 232, 62, 134, 193, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 110, 14, 0, 55, 232, 62, 134, 193, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 145, 14, 0, 60, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 146, 14, 0, 55, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 168, 36, 0, 60, 232, 62, 134, 67, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 170, 35, 0, 55, 232, 62, 134, 67, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 168, 36, 0, 60, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 170, 35, 0, 55, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 189, 51, 0, 55, 232, 62, 56, 66, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 186, 53, 0, 60, 232, 62, 56, 66, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 189, 51, 0, 55, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 186, 53, 0, 60, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 203, 69, 0, 60, 232, 62, 234, 64, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 205, 66, 0, 55, 232, 62, 234, 64, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 203, 69, 0, 60, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 205, 66, 0, 55, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 223, 81, 0, 55, 232, 62, 56, 63, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 221, 86, 0, 60, 232, 62, 56, 63, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 223, 81, 0, 55, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 221, 86, 0, 60, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 242, 107, 0, 60, 232, 62, 156, 60, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 243, 99, 0, 55, 232, 62, 156, 60, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 244, 91, 0, 50, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 243, 99, 0, 55, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 13, 99, 0, 55, 232, 65, 0, 56, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 12, 91, 0, 50, 232, 65, 0, 56, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 13, 99, 0, 55, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 12, 91, 0, 50, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 32, 75, 0, 50, 232, 65, 226, 176, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 33, 81, 0, 55, 232, 65, 226, 176, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 32, 75, 0, 50, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 33, 81, 0, 55, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 49, 62, 0, 50, 232, 65, 113, 186, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 51, 66, 0, 55, 232, 65, 113, 186, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 49, 62, 0, 50, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 51, 66, 0, 55, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 67, 51, 0, 55, 232, 65, 212, 189, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 65, 48, 0, 50, 232, 65, 212, 189, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 67, 51, 0, 55, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 65, 48, 0, 50, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 84, 33, 0, 50, 232, 65, 56, 192, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 86, 35, 0, 55, 232, 65, 56, 192, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 84, 33, 0, 50, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 86, 35, 0, 55, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 109, 13, 0, 50, 232, 65, 134, 193, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 110, 14, 0, 55, 232, 65, 134, 193, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 147, 13, 0, 50, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 146, 14, 0, 55, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 172, 33, 0, 50, 232, 65, 134, 67, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 170, 35, 0, 55, 232, 65, 134, 67, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 172, 33, 0, 50, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 170, 35, 0, 55, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 191, 48, 0, 50, 232, 65, 56, 66, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 189, 51, 0, 55, 232, 65, 56, 66, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 191, 48, 0, 50, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 189, 51, 0, 55, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 205, 66, 0, 55, 232, 65, 234, 64, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 207, 62, 0, 50, 232, 65, 234, 64, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 205, 66, 0, 55, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 207, 62, 0, 50, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 223, 81, 0, 55, 232, 65, 56, 63, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 224, 75, 0, 50, 232, 65, 56, 63, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 223, 81, 0, 55, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 224, 75, 0, 50, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 244, 91, 0, 50, 232, 65, 156, 60, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 243, 99, 0, 55, 232, 65, 156, 60, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 244, 91, 0, 50, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 245, 84, 0, 46, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 11, 84, 0, 46, 46, 68, 0, 56, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 12, 91, 0, 50, 46, 68, 0, 56, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 11, 84, 0, 46, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 12, 91, 0, 50, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 31, 70, 0, 46, 46, 68, 226, 176, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 32, 75, 0, 50, 46, 68, 226, 176, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 31, 70, 0, 46, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 32, 75, 0, 50, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 49, 62, 0, 50, 46, 68, 113, 186, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 47, 58, 0, 46, 46, 68, 113, 186, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 49, 62, 0, 50, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 47, 58, 0, 46, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 64, 46, 0, 46, 46, 68, 212, 189, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 65, 48, 0, 50, 46, 68, 212, 189, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 64, 46, 0, 46, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 65, 48, 0, 50, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 84, 33, 0, 50, 46, 68, 56, 192, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 82, 32, 0, 46, 46, 68, 56, 192, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 84, 33, 0, 50, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 82, 32, 0, 46, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 108, 13, 0, 46, 46, 68, 134, 193, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 109, 13, 0, 50, 46, 68, 134, 193, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 147, 13, 0, 50, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 148, 13, 0, 46, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 174, 32, 0, 46, 46, 68, 134, 67, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 172, 33, 0, 50, 46, 68, 134, 67, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 174, 32, 0, 46, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 172, 33, 0, 50, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 191, 48, 0, 50, 46, 68, 56, 66, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 192, 46, 0, 46, 46, 68, 56, 66, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 191, 48, 0, 50, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 192, 46, 0, 46, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 209, 58, 0, 46, 46, 68, 234, 64, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 207, 62, 0, 50, 46, 68, 234, 64, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 209, 58, 0, 46, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 207, 62, 0, 50, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 224, 75, 0, 50, 46, 68, 56, 63, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 225, 70, 0, 46, 46, 68, 56, 63, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 224, 75, 0, 50, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 225, 70, 0, 46, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 244, 91, 0, 50, 46, 68, 156, 60, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 245, 84, 0, 46, 46, 68, 156, 60, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 245, 84, 0, 46, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 245, 78, 0, 43, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 11, 78, 0, 43, 104, 69, 0, 56, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 11, 84, 0, 46, 104, 69, 0, 56, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 11, 78, 0, 43, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 11, 84, 0, 46, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 30, 65, 0, 43, 104, 69, 226, 176, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 31, 70, 0, 46, 104, 69, 226, 176, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 30, 65, 0, 43, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 31, 70, 0, 46, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 47, 58, 0, 46, 104, 69, 113, 186, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 46, 54, 0, 43, 104, 69, 113, 186, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 47, 58, 0, 46, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 46, 54, 0, 43, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 64, 46, 0, 46, 104, 69, 212, 189, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 62, 43, 0, 43, 104, 69, 212, 189, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 64, 46, 0, 46, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 62, 43, 0, 43, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 82, 32, 0, 46, 104, 69, 56, 192, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 81, 30, 0, 43, 104, 69, 56, 192, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 175, 30, 0, 43, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 174, 32, 0, 46, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 194, 43, 0, 43, 104, 69, 56, 66, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 192, 46, 0, 46, 104, 69, 56, 66, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 194, 43, 0, 43, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 192, 46, 0, 46, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 210, 54, 0, 43, 104, 69, 234, 64, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 209, 58, 0, 46, 104, 69, 234, 64, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 210, 54, 0, 43, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 209, 58, 0, 46, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 225, 70, 0, 46, 104, 69, 56, 63, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 226, 65, 0, 43, 104, 69, 56, 63, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 225, 70, 0, 46, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 226, 65, 0, 43, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 245, 84, 0, 46, 104, 69, 156, 60, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 245, 78, 0, 43, 104, 69, 156, 60, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 245, 78, 0, 43, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 245, 72, 0, 39, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 11, 72, 0, 39, 162, 70, 0, 56, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 11, 78, 0, 43, 162, 70, 0, 56, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 11, 72, 0, 39, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 11, 78, 0, 43, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 30, 65, 0, 43, 162, 70, 226, 176, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 29, 61, 0, 39, 162, 70, 226, 176, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 30, 65, 0, 43, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 29, 61, 0, 39, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 45, 50, 0, 39, 162, 70, 113, 186, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 46, 54, 0, 43, 162, 70, 113, 186, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 45, 50, 0, 39, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 46, 54, 0, 43, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 61, 40, 0, 39, 162, 70, 212, 189, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 62, 43, 0, 43, 162, 70, 212, 189, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 194, 43, 0, 43, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 195, 40, 0, 39, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 210, 54, 0, 43, 162, 70, 234, 64, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 211, 50, 0, 39, 162, 70, 234, 64, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 210, 54, 0, 43, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 211, 50, 0, 39, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 227, 61, 0, 39, 162, 70, 56, 63, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 226, 65, 0, 43, 162, 70, 56, 63, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 227, 61, 0, 39, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 226, 65, 0, 43, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 245, 78, 0, 43, 162, 70, 156, 60, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 245, 72, 0, 39, 162, 70, 156, 60, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 245, 72, 0, 39, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 246, 66, 0, 36, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 10, 66, 0, 36, 220, 71, 0, 56, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 11, 72, 0, 39, 220, 71, 0, 56, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 10, 66, 0, 36, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 11, 72, 0, 39, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 29, 61, 0, 39, 220, 71, 226, 176, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 28, 56, 0, 36, 220, 71, 226, 176, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 29, 61, 0, 39, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 28, 56, 0, 36, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 44, 47, 0, 36, 220, 71, 113, 186, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 45, 50, 0, 39, 220, 71, 113, 186, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 211, 50, 0, 39, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 212, 47, 0, 36, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 228, 56, 0, 36, 220, 71, 56, 63, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 227, 61, 0, 39, 220, 71, 56, 63, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 228, 56, 0, 36, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 227, 61, 0, 39, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 245, 72, 0, 39, 220, 71, 156, 60, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 246, 66, 0, 36, 220, 71, 156, 60, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 196, 116, 0, 90, 133, 199, 0, 56, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 60, 116, 0, 90, 133, 199, 0, 56, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 60, 116, 0, 90, 103, 199, 226, 176, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 70, 98, 0, 90, 103, 199, 226, 176, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 70, 98, 0, 90, 14, 199, 113, 186, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 79, 82, 0, 90, 14, 199, 113, 186, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 79, 82, 0, 90, 220, 198, 32, 188, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 76, 81, 0, 87, 220, 198, 32, 188, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 180, 81, 0, 87, 220, 198, 16, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 177, 82, 0, 90, 220, 198, 16, 64, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 177, 82, 0, 90, 14, 199, 56, 63, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 186, 98, 0, 90, 14, 199, 56, 63, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 186, 98, 0, 90, 103, 199, 156, 60, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 196, 116, 0, 90, 103, 199, 156, 60, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 76, 81, 0, 87, 106, 198, 212, 189, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 86, 65, 0, 87, 106, 198, 212, 189, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 86, 65, 0, 87, 162, 197, 254, 191, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 83, 64, 0, 83, 162, 197, 254, 191, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 173, 64, 0, 83, 162, 197, 255, 65, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 170, 65, 0, 87, 162, 197, 255, 65, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 170, 65, 0, 87, 106, 198, 234, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 180, 81, 0, 87, 106, 198, 234, 64, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 83, 64, 0, 83, 110, 197, 56, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 96, 45, 0, 83, 110, 197, 56, 192, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 96, 45, 0, 83, 104, 196, 36, 193, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 94, 44, 0, 80, 104, 196, 36, 193, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 160, 45, 0, 83, 104, 196, 36, 67, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 162, 44, 0, 80, 104, 196, 36, 67, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 160, 45, 0, 83, 110, 197, 56, 66, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 173, 64, 0, 83, 110, 197, 56, 66, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 94, 44, 0, 80, 172, 195, 134, 193, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 113, 18, 0, 80, 172, 195, 134, 193, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 113, 18, 0, 80, 92, 194, 236, 193, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 113, 17, 0, 76, 92, 194, 236, 193, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 143, 17, 0, 76, 92, 194, 236, 67, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 143, 18, 0, 80, 92, 194, 236, 67, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 143, 18, 0, 80, 172, 195, 134, 67, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 162, 44, 0, 80, 172, 195, 134, 67, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 113, 17, 0, 76, 208, 191, 111, 194, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 112, 16, 0, 71, 208, 191, 111, 194, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 143, 17, 0, 76, 208, 191, 55, 68, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 144, 16, 0, 71, 208, 191, 55, 68, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 112, 15, 0, 66, 208, 185, 187, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 112, 16, 0, 71, 208, 185, 187, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 144, 15, 0, 66, 208, 185, 93, 68, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 144, 16, 0, 71, 208, 185, 93, 68, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 111, 14, 0, 60, 232, 62, 187, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 110, 14, 0, 55, 232, 62, 187, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 145, 14, 0, 60, 232, 62, 93, 68, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 146, 14, 0, 55, 232, 62, 93, 68, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 109, 13, 0, 50, 232, 65, 111, 194, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 110, 14, 0, 55, 232, 65, 111, 194, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 147, 13, 0, 50, 232, 65, 55, 68, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 146, 14, 0, 55, 232, 65, 55, 68, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 108, 13, 0, 46, 46, 68, 236, 193, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 109, 13, 0, 50, 46, 68, 236, 193, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 147, 13, 0, 50, 46, 68, 236, 67, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 148, 13, 0, 46, 46, 68, 236, 67, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 82, 32, 0, 46, 104, 69, 36, 193, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 81, 30, 0, 43, 104, 69, 36, 193, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 82, 32, 0, 46, 214, 68, 134, 193, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 108, 13, 0, 46, 214, 68, 134, 193, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 148, 13, 0, 46, 214, 68, 134, 67, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 174, 32, 0, 46, 214, 68, 134, 67, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 175, 30, 0, 43, 104, 69, 36, 67, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 174, 32, 0, 46, 104, 69, 36, 67, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 61, 40, 0, 39, 162, 70, 254, 191, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 62, 43, 0, 43, 162, 70, 254, 191, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 62, 43, 0, 43, 110, 70, 56, 192, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 81, 30, 0, 43, 110, 70, 56, 192, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 175, 30, 0, 43, 110, 70, 56, 66, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 194, 43, 0, 43, 110, 70, 56, 66, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 194, 43, 0, 43, 162, 70, 255, 65, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 195, 40, 0, 39, 162, 70, 255, 65, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 44, 47, 0, 36, 220, 71, 32, 188, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 45, 50, 0, 39, 220, 71, 32, 188, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 45, 50, 0, 39, 106, 71, 212, 189, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 61, 40, 0, 39, 106, 71, 212, 189, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 195, 40, 0, 39, 106, 71, 234, 64, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 211, 50, 0, 39, 106, 71, 234, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 211, 50, 0, 39, 220, 71, 16, 64, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 212, 47, 0, 36, 220, 71, 16, 64, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 246, 66, 0, 36, 66, 72, 0, 56, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 10, 66, 0, 36, 66, 72, 0, 56, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 10, 66, 0, 36, 51, 72, 226, 176, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 28, 56, 0, 36, 51, 72, 226, 176, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 28, 56, 0, 36, 7, 72, 113, 186, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 44, 47, 0, 36, 7, 72, 113, 186, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 212, 47, 0, 36, 7, 72, 56, 63, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 228, 56, 0, 36, 7, 72, 56, 63, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 228, 56, 0, 36, 51, 72, 156, 60, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 246, 66, 0, 36, 51, 72, 156, 60 ),
-"array_index_data": PoolByteArray( 225, 1, 4, 0, 2, 0, 225, 1, 226, 1, 4, 0, 227, 1, 9, 0, 7, 0, 227, 1, 228, 1, 9, 0, 229, 1, 230, 1, 10, 0, 233, 1, 234, 1, 13, 0, 235, 1, 16, 0, 14, 0, 235, 1, 236, 1, 16, 0, 237, 1, 1, 0, 19, 0, 237, 1, 224, 1, 1, 0, 3, 0, 24, 0, 22, 0, 3, 0, 5, 0, 24, 0, 6, 0, 29, 0, 27, 0, 6, 0, 8, 0, 29, 0, 238, 1, 11, 0, 231, 1, 11, 0, 33, 0, 31, 0, 11, 0, 238, 1, 33, 0, 239, 1, 240, 1, 34, 0, 243, 1, 244, 1, 37, 0, 232, 1, 39, 0, 245, 1, 39, 0, 12, 0, 41, 0, 39, 0, 232, 1, 12, 0, 15, 0, 44, 0, 42, 0, 15, 0, 17, 0, 44, 0, 18, 0, 21, 0, 47, 0, 18, 0, 0, 0, 21, 0, 23, 0, 53, 0, 51, 0, 23, 0, 25, 0, 53, 0, 26, 0, 56, 0, 54, 0, 26, 0, 28, 0, 56, 0, 30, 0, 61, 0, 59, 0, 30, 0, 32, 0, 61, 0, 246, 1, 35, 0, 241, 1, 35, 0, 65, 0, 63, 0, 35, 0, 246, 1, 65, 0, 247, 1, 248, 1, 66, 0, 250, 1, 252, 1, 68, 0, 71, 0, 36, 0, 73, 0, 36, 0, 253, 1, 242, 1, 36, 0, 71, 0, 253, 1, 38, 0, 76, 0, 74, 0, 38, 0, 40, 0, 76, 0, 43, 0, 81, 0, 79, 0, 43, 0, 45, 0, 81, 0, 46, 0, 48, 0, 82, 0, 46, 0, 20, 0, 48, 0, 50, 0, 88, 0, 86, 0, 50, 0, 52, 0, 88, 0, 55, 0, 93, 0, 91, 0, 55, 0, 57, 0, 93, 0, 58, 0, 97, 0, 95, 0, 58, 0, 60, 0, 97, 0, 62, 0, 100, 0, 98, 0, 62, 0, 64, 0, 100, 0, 254, 1, 67, 0, 249, 1, 67, 0, 105, 0, 103, 0, 67, 0, 254, 1, 105, 0, 255, 1, 0, 2, 106, 0, 3, 2, 4, 2, 109, 0, 110, 0, 69, 0, 112, 0, 69, 0, 5, 2, 251, 1, 69, 0, 110, 0, 5, 2, 70, 0, 117, 0, 115, 0, 70, 0, 72, 0, 117, 0, 75, 0, 120, 0, 118, 0, 75, 0, 77, 0, 120, 0, 78, 0, 124, 0, 122, 0, 78, 0, 80, 0, 124, 0, 83, 0, 84, 0, 126, 0, 83, 0, 49, 0, 84, 0, 87, 0, 133, 0, 131, 0, 87, 0, 89, 0, 133, 0, 90, 0, 137, 0, 135, 0, 90, 0, 92, 0, 137, 0, 94, 0, 140, 0, 138, 0, 94, 0, 96, 0, 140, 0, 99, 0, 145, 0, 143, 0, 99, 0, 101, 0, 145, 0, 102, 0, 148, 0, 146, 0, 102, 0, 104, 0, 148, 0, 1, 2, 150, 0, 107, 0, 1, 2, 6, 2, 150, 0, 152, 0, 2, 2, 108, 0, 152, 0, 8, 2, 2, 2, 111, 0, 157, 0, 155, 0, 111, 0, 113, 0, 157, 0, 114, 0, 160, 0, 158, 0, 114, 0, 116, 0, 160, 0, 119, 0, 165, 0, 163, 0, 119, 0, 121, 0, 165, 0, 123, 0, 168, 0, 166, 0, 123, 0, 125, 0, 168, 0, 127, 0, 128, 0, 170, 0, 127, 0, 85, 0, 128, 0, 130, 0, 176, 0, 174, 0, 130, 0, 132, 0, 176, 0, 134, 0, 181, 0, 179, 0, 134, 0, 136, 0, 181, 0, 139, 0, 184, 0, 182, 0, 139, 0, 141, 0, 184, 0, 142, 0, 189, 0, 187, 0, 142, 0, 144, 0, 189, 0, 147, 0, 192, 0, 190, 0, 147, 0, 149, 0, 192, 0, 7, 2, 195, 0, 151, 0, 7, 2, 11, 2, 195, 0, 13, 2, 153, 0, 197, 0, 13, 2, 9, 2, 153, 0, 154, 0, 201, 0, 199, 0, 154, 0, 156, 0, 201, 0, 159, 0, 204, 0, 202, 0, 159, 0, 161, 0, 204, 0, 162, 0, 209, 0, 207, 0, 162, 0, 164, 0, 209, 0, 167, 0, 212, 0, 210, 0, 167, 0, 169, 0, 212, 0, 171, 0, 172, 0, 214, 0, 171, 0, 129, 0, 172, 0, 175, 0, 221, 0, 219, 0, 175, 0, 177, 0, 221, 0, 178, 0, 224, 0, 222, 0, 178, 0, 180, 0, 224, 0, 183, 0, 229, 0, 227, 0, 183, 0, 185, 0, 229, 0, 186, 0, 232, 0, 230, 0, 186, 0, 188, 0, 232, 0, 191, 0, 237, 0, 235, 0, 191, 0, 193, 0, 237, 0, 10, 2, 239, 0, 194, 0, 10, 2, 241, 0, 239, 0, 245, 0, 12, 2, 196, 0, 245, 0, 243, 0, 12, 2, 198, 0, 248, 0, 246, 0, 198, 0, 200, 0, 248, 0, 203, 0, 253, 0, 251, 0, 203, 0, 205, 0, 253, 0, 206, 0, 0, 1, 254, 0, 206, 0, 208, 0, 0, 1, 211, 0, 4, 1, 2, 1, 211, 0, 213, 0, 4, 1, 215, 0, 217, 0, 7, 1, 215, 0, 173, 0, 217, 0, 218, 0, 13, 1, 11, 1, 218, 0, 220, 0, 13, 1, 223, 0, 16, 1, 14, 1, 223, 0, 225, 0, 16, 1, 226, 0, 21, 1, 19, 1, 226, 0, 228, 0, 21, 1, 231, 0, 25, 1, 23, 1, 231, 0, 233, 0, 25, 1, 234, 0, 28, 1, 26, 1, 234, 0, 236, 0, 28, 1, 240, 0, 30, 1, 238, 0, 240, 0, 14, 2, 30, 1, 32, 1, 242, 0, 244, 0, 32, 1, 16, 2, 242, 0, 247, 0, 36, 1, 34, 1, 247, 0, 249, 0, 36, 1, 250, 0, 41, 1, 39, 1, 250, 0, 252, 0, 41, 1, 255, 0, 44, 1, 42, 1, 255, 0, 1, 1, 44, 1, 3, 1, 49, 1, 47, 1, 3, 1, 5, 1, 49, 1, 6, 1, 8, 1, 50, 1, 6, 1, 216, 0, 8, 1, 10, 1, 56, 1, 54, 1, 10, 1, 12, 1, 56, 1, 15, 1, 61, 1, 59, 1, 15, 1, 17, 1, 61, 1, 18, 1, 65, 1, 63, 1, 18, 1, 20, 1, 65, 1, 22, 1, 68, 1, 66, 1, 22, 1, 24, 1, 68, 1, 27, 1, 73, 1, 71, 1, 27, 1, 29, 1, 73, 1, 15, 2, 75, 1, 31, 1, 15, 2, 19, 2, 75, 1, 77, 1, 17, 2, 33, 1, 77, 1, 21, 2, 17, 2, 35, 1, 81, 1, 79, 1, 35, 1, 37, 1, 81, 1, 38, 1, 85, 1, 83, 1, 38, 1, 40, 1, 85, 1, 43, 1, 88, 1, 86, 1, 43, 1, 45, 1, 88, 1, 46, 1, 92, 1, 90, 1, 46, 1, 48, 1, 92, 1, 51, 1, 53, 1, 95, 1, 51, 1, 9, 1, 53, 1, 55, 1, 101, 1, 99, 1, 55, 1, 57, 1, 101, 1, 58, 1, 105, 1, 103, 1, 58, 1, 60, 1, 105, 1, 62, 1, 108, 1, 106, 1, 62, 1, 64, 1, 108, 1, 67, 1, 113, 1, 111, 1, 67, 1, 69, 1, 113, 1, 70, 1, 116, 1, 114, 1, 70, 1, 72, 1, 116, 1, 18, 2, 119, 1, 74, 1, 18, 2, 23, 2, 119, 1, 120, 1, 20, 2, 76, 1, 120, 1, 24, 2, 20, 2, 78, 1, 125, 1, 123, 1, 78, 1, 80, 1, 125, 1, 82, 1, 128, 1, 126, 1, 82, 1, 84, 1, 128, 1, 87, 1, 133, 1, 131, 1, 87, 1, 89, 1, 133, 1, 91, 1, 136, 1, 134, 1, 91, 1, 93, 1, 136, 1, 94, 1, 96, 1, 138, 1, 94, 1, 52, 1, 96, 1, 98, 1, 145, 1, 143, 1, 98, 1, 100, 1, 145, 1, 102, 1, 149, 1, 147, 1, 102, 1, 104, 1, 149, 1, 107, 1, 152, 1, 150, 1, 107, 1, 109, 1, 152, 1, 110, 1, 156, 1, 154, 1, 110, 1, 112, 1, 156, 1, 117, 1, 158, 1, 115, 1, 158, 1, 28, 2, 26, 2, 158, 1, 117, 1, 28, 2, 22, 2, 29, 2, 118, 1, 25, 2, 121, 1, 30, 2, 33, 2, 124, 1, 161, 1, 124, 1, 31, 2, 122, 1, 124, 1, 33, 2, 31, 2, 127, 1, 165, 1, 163, 1, 127, 1, 129, 1, 165, 1, 130, 1, 169, 1, 167, 1, 130, 1, 132, 1, 169, 1, 135, 1, 172, 1, 170, 1, 135, 1, 137, 1, 172, 1, 139, 1, 140, 1, 174, 1, 139, 1, 97, 1, 140, 1, 142, 1, 181, 1, 179, 1, 142, 1, 144, 1, 181, 1, 146, 1, 184, 1, 182, 1, 146, 1, 148, 1, 184, 1, 151, 1, 189, 1, 187, 1, 151, 1, 153, 1, 189, 1, 157, 1, 191, 1, 155, 1, 191, 1, 36, 2, 35, 2, 191, 1, 157, 1, 36, 2, 27, 2, 37, 2, 159, 1, 32, 2, 160, 1, 38, 2, 40, 2, 164, 1, 192, 1, 164, 1, 39, 2, 162, 1, 164, 1, 40, 2, 39, 2, 166, 1, 196, 1, 194, 1, 166, 1, 168, 1, 196, 1, 171, 1, 201, 1, 199, 1, 171, 1, 173, 1, 201, 1, 175, 1, 176, 1, 202, 1, 175, 1, 141, 1, 176, 1, 178, 1, 209, 1, 207, 1, 178, 1, 180, 1, 209, 1, 183, 1, 212, 1, 210, 1, 183, 1, 185, 1, 212, 1, 43, 2, 188, 1, 44, 2, 188, 1, 215, 1, 186, 1, 188, 1, 43, 2, 215, 1, 34, 2, 45, 2, 190, 1, 41, 2, 193, 1, 46, 2, 47, 2, 216, 1, 48, 2, 216, 1, 195, 1, 197, 1, 216, 1, 47, 2, 195, 1, 198, 1, 221, 1, 219, 1, 198, 1, 200, 1, 221, 1, 203, 1, 204, 1, 222, 1, 203, 1, 177, 1, 204, 1, 52, 2, 206, 1, 208, 1, 52, 2, 51, 2, 206, 1, 54, 2, 211, 1, 213, 1, 54, 2, 53, 2, 211, 1, 214, 1, 42, 2, 55, 2, 56, 2, 49, 2, 217, 1, 58, 2, 218, 1, 220, 1, 58, 2, 57, 2, 218, 1, 50, 2, 223, 1, 205, 1, 50, 2, 59, 2, 223, 1 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-2.5, 0, -7.47503, 5, 2.5, 14.9501),
+"attribute_data": PackedByteArray(103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 0, 0, 0, 63, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 32, 75, 28, 190, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 128, 37, 78, 191, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 196, 18, 231, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 103, 134, 219, 192, 96, 137, 147, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 0, 0, 0, 63, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 32, 75, 28, 190, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 128, 37, 78, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 36, 156, 186, 191, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 18, 78, 29, 64, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 196, 18, 231, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 87, 69, 180, 192, 96, 137, 147, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 0, 0, 0, 63, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 32, 75, 28, 190, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 128, 37, 78, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 36, 156, 186, 191, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 197, 18, 7, 192, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 193, 18, 71, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 18, 78, 29, 64, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 196, 18, 231, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 71, 4, 141, 192, 96, 137, 147, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 0, 0, 0, 63, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 32, 75, 28, 190, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 128, 37, 78, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 36, 156, 186, 191, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 197, 18, 7, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 112, 215, 48, 192, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 116, 215, 112, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 193, 18, 71, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 18, 78, 29, 64, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 196, 18, 231, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 108, 134, 75, 192, 96, 137, 147, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 0, 0, 0, 63, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 32, 75, 28, 190, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 128, 37, 78, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 36, 156, 186, 191, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 197, 18, 7, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 112, 215, 48, 192, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 116, 215, 112, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 193, 18, 71, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 18, 78, 29, 64, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 196, 18, 231, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 152, 8, 250, 191, 96, 137, 147, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 0, 0, 0, 63, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 32, 75, 28, 190, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 128, 37, 78, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 36, 156, 186, 191, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 197, 18, 7, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 112, 215, 48, 192, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 116, 215, 112, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 193, 18, 71, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 18, 78, 29, 64, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 196, 18, 231, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 176, 8, 58, 191, 96, 137, 147, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 0, 0, 0, 63, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 8, 75, 28, 190, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 128, 37, 78, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 36, 156, 186, 191, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 197, 18, 7, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 112, 215, 48, 192, 157, 255, 255, 62, 36, 156, 90, 192, 157, 255, 255, 62, 36, 156, 90, 192, 157, 255, 255, 62, 18, 78, 141, 64, 157, 255, 255, 62, 18, 78, 141, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 116, 215, 112, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 193, 18, 71, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 18, 78, 29, 64, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 196, 18, 231, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 157, 255, 255, 62, 96, 137, 147, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 45, 4, 221, 63, 0, 0, 0, 63, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 32, 75, 28, 190, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 128, 37, 78, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 36, 156, 186, 191, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 197, 18, 7, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 112, 215, 48, 192, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 116, 215, 112, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 193, 18, 71, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 18, 78, 29, 64, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 196, 18, 231, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 38, 4, 221, 63, 96, 137, 147, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 0, 0, 0, 63, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 32, 75, 28, 190, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 128, 37, 78, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 36, 156, 186, 191, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 197, 18, 7, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 112, 215, 48, 192, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 116, 215, 112, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 193, 18, 71, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 18, 78, 29, 64, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 196, 18, 231, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 50, 4, 61, 64, 96, 137, 147, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 0, 0, 0, 63, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 32, 75, 28, 190, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 128, 37, 78, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 36, 156, 186, 191, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 197, 18, 7, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 112, 215, 48, 192, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 116, 215, 112, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 193, 18, 71, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 18, 78, 29, 64, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 196, 18, 231, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 41, 195, 133, 64, 96, 137, 147, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 0, 0, 0, 63, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 32, 75, 28, 190, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 128, 37, 78, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 36, 156, 186, 191, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 197, 18, 7, 192, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 193, 18, 71, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 18, 78, 29, 64, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 196, 18, 231, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 57, 4, 173, 64, 96, 137, 147, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 0, 0, 0, 63, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 32, 75, 28, 190, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 128, 37, 78, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 36, 156, 186, 191, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 18, 78, 29, 64, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 196, 18, 231, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 71, 69, 212, 64, 96, 137, 147, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 0, 0, 0, 63, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 32, 75, 28, 190, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 128, 37, 78, 191, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 196, 18, 231, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 86, 134, 251, 64, 96, 137, 147, 63, 244, 167, 240, 192, 0, 0, 0, 63, 244, 167, 240, 192, 0, 0, 0, 63, 103, 248, 236, 192, 32, 75, 28, 190, 103, 248, 236, 192, 32, 75, 28, 190, 179, 221, 225, 192, 128, 37, 78, 191, 179, 221, 225, 192, 128, 37, 78, 191, 103, 134, 219, 192, 196, 31, 132, 191, 103, 134, 219, 192, 196, 31, 132, 191, 103, 134, 219, 192, 228, 15, 2, 64, 103, 134, 219, 192, 228, 15, 2, 64, 179, 221, 225, 192, 196, 18, 231, 63, 179, 221, 225, 192, 196, 18, 231, 63, 103, 248, 236, 192, 100, 137, 147, 63, 103, 248, 236, 192, 100, 137, 147, 63, 134, 71, 205, 192, 36, 156, 186, 191, 134, 71, 205, 192, 36, 156, 186, 191, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 65, 231, 63, 64, 87, 69, 180, 192, 65, 231, 63, 64, 124, 71, 205, 192, 18, 78, 29, 64, 124, 71, 205, 192, 18, 78, 29, 64, 147, 192, 173, 192, 197, 18, 7, 192, 147, 192, 173, 192, 197, 18, 7, 192, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 100, 64, 71, 4, 141, 192, 200, 150, 100, 64, 157, 192, 173, 192, 193, 18, 71, 64, 157, 192, 173, 192, 193, 18, 71, 64, 62, 150, 117, 192, 112, 215, 48, 192, 62, 150, 117, 192, 112, 215, 48, 192, 108, 134, 75, 192, 42, 144, 61, 192, 108, 134, 75, 192, 42, 144, 61, 192, 108, 134, 75, 192, 42, 144, 125, 64, 108, 134, 75, 192, 42, 144, 125, 64, 62, 150, 117, 192, 116, 215, 112, 64, 62, 150, 117, 192, 116, 215, 112, 64, 152, 8, 250, 191, 168, 246, 77, 192, 152, 8, 250, 191, 168, 246, 77, 192, 112, 8, 250, 191, 82, 251, 134, 64, 112, 8, 250, 191, 82, 251, 134, 64, 176, 8, 58, 191, 146, 124, 87, 192, 176, 8, 58, 191, 146, 124, 87, 192, 176, 8, 58, 191, 70, 190, 139, 64, 176, 8, 58, 191, 70, 190, 139, 64, 38, 4, 221, 63, 142, 124, 87, 192, 38, 4, 221, 63, 142, 124, 87, 192, 38, 4, 221, 63, 71, 190, 139, 64, 38, 4, 221, 63, 71, 190, 139, 64, 50, 4, 61, 64, 164, 246, 77, 192, 50, 4, 61, 64, 164, 246, 77, 192, 50, 4, 61, 64, 82, 251, 134, 64, 50, 4, 61, 64, 82, 251, 134, 64, 41, 195, 133, 64, 52, 144, 61, 192, 41, 195, 133, 64, 52, 144, 61, 192, 41, 195, 133, 64, 52, 144, 125, 64, 41, 195, 133, 64, 52, 144, 125, 64, 57, 4, 173, 64, 204, 150, 36, 192, 57, 4, 173, 64, 204, 150, 36, 192, 35, 203, 154, 64, 112, 215, 48, 192, 35, 203, 154, 64, 112, 215, 48, 192, 35, 203, 154, 64, 116, 215, 112, 64, 35, 203, 154, 64, 116, 215, 112, 64, 57, 4, 173, 64, 208, 150, 100, 64, 57, 4, 173, 64, 208, 150, 100, 64, 71, 69, 212, 64, 134, 206, 255, 191, 71, 69, 212, 64, 134, 206, 255, 191, 141, 192, 205, 64, 197, 18, 7, 192, 141, 192, 205, 64, 197, 18, 7, 192, 141, 192, 205, 64, 192, 18, 71, 64, 141, 192, 205, 64, 192, 18, 71, 64, 71, 69, 212, 64, 65, 231, 63, 64, 71, 69, 212, 64, 65, 231, 63, 64, 86, 134, 251, 64, 196, 31, 132, 191, 86, 134, 251, 64, 196, 31, 132, 191, 118, 71, 237, 64, 36, 156, 186, 191, 118, 71, 237, 64, 36, 156, 186, 191, 118, 71, 237, 64, 18, 78, 29, 64, 118, 71, 237, 64, 18, 78, 29, 64, 86, 134, 251, 64, 229, 15, 2, 64, 86, 134, 251, 64, 229, 15, 2, 64, 250, 83, 8, 65, 0, 0, 0, 63, 250, 83, 8, 65, 0, 0, 0, 63, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190, 214, 238, 0, 65, 128, 37, 78, 191, 214, 238, 0, 65, 128, 37, 78, 191, 214, 238, 0, 65, 196, 18, 231, 63, 214, 238, 0, 65, 196, 18, 231, 63, 46, 124, 6, 65, 96, 137, 147, 63, 46, 124, 6, 65, 96, 137, 147, 63, 157, 255, 255, 62, 18, 78, 141, 64, 71, 4, 141, 192, 200, 150, 36, 192, 71, 4, 141, 192, 200, 150, 100, 64, 41, 195, 133, 64, 52, 144, 61, 192, 86, 134, 251, 64, 196, 31, 132, 191, 118, 71, 237, 64, 18, 78, 29, 64, 134, 71, 205, 192, 36, 156, 186, 191, 134, 71, 205, 192, 36, 156, 186, 191, 87, 69, 180, 192, 65, 231, 63, 64, 41, 195, 133, 64, 52, 144, 61, 192, 46, 124, 6, 65, 96, 137, 147, 63, 46, 124, 6, 65, 96, 137, 147, 63, 103, 248, 236, 192, 100, 137, 147, 63, 87, 69, 180, 192, 134, 206, 255, 191, 87, 69, 180, 192, 65, 231, 63, 64, 176, 8, 58, 191, 146, 124, 87, 192, 38, 4, 221, 63, 71, 190, 139, 64, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190, 103, 248, 236, 192, 100, 137, 147, 63, 124, 71, 205, 192, 18, 78, 29, 64, 57, 4, 173, 64, 208, 150, 100, 64, 46, 124, 6, 65, 32, 75, 28, 190, 46, 124, 6, 65, 32, 75, 28, 190),
+"format": 4119,
"index_count": 852,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 572
-}
+"index_data": PackedByteArray(225, 1, 4, 0, 2, 0, 225, 1, 226, 1, 4, 0, 227, 1, 9, 0, 7, 0, 227, 1, 228, 1, 9, 0, 229, 1, 230, 1, 10, 0, 233, 1, 234, 1, 13, 0, 235, 1, 16, 0, 14, 0, 235, 1, 236, 1, 16, 0, 237, 1, 1, 0, 19, 0, 237, 1, 224, 1, 1, 0, 3, 0, 24, 0, 22, 0, 3, 0, 5, 0, 24, 0, 6, 0, 29, 0, 27, 0, 6, 0, 8, 0, 29, 0, 238, 1, 11, 0, 231, 1, 11, 0, 33, 0, 31, 0, 11, 0, 238, 1, 33, 0, 239, 1, 240, 1, 34, 0, 243, 1, 244, 1, 37, 0, 232, 1, 39, 0, 245, 1, 39, 0, 12, 0, 41, 0, 39, 0, 232, 1, 12, 0, 15, 0, 44, 0, 42, 0, 15, 0, 17, 0, 44, 0, 18, 0, 21, 0, 47, 0, 18, 0, 0, 0, 21, 0, 23, 0, 53, 0, 51, 0, 23, 0, 25, 0, 53, 0, 26, 0, 56, 0, 54, 0, 26, 0, 28, 0, 56, 0, 30, 0, 61, 0, 59, 0, 30, 0, 32, 0, 61, 0, 246, 1, 35, 0, 241, 1, 35, 0, 65, 0, 63, 0, 35, 0, 246, 1, 65, 0, 247, 1, 248, 1, 66, 0, 250, 1, 252, 1, 68, 0, 71, 0, 36, 0, 73, 0, 36, 0, 253, 1, 242, 1, 36, 0, 71, 0, 253, 1, 38, 0, 76, 0, 74, 0, 38, 0, 40, 0, 76, 0, 43, 0, 81, 0, 79, 0, 43, 0, 45, 0, 81, 0, 46, 0, 48, 0, 82, 0, 46, 0, 20, 0, 48, 0, 50, 0, 88, 0, 86, 0, 50, 0, 52, 0, 88, 0, 55, 0, 93, 0, 91, 0, 55, 0, 57, 0, 93, 0, 58, 0, 97, 0, 95, 0, 58, 0, 60, 0, 97, 0, 62, 0, 100, 0, 98, 0, 62, 0, 64, 0, 100, 0, 254, 1, 67, 0, 249, 1, 67, 0, 105, 0, 103, 0, 67, 0, 254, 1, 105, 0, 255, 1, 0, 2, 106, 0, 3, 2, 4, 2, 109, 0, 110, 0, 69, 0, 112, 0, 69, 0, 5, 2, 251, 1, 69, 0, 110, 0, 5, 2, 70, 0, 117, 0, 115, 0, 70, 0, 72, 0, 117, 0, 75, 0, 120, 0, 118, 0, 75, 0, 77, 0, 120, 0, 78, 0, 124, 0, 122, 0, 78, 0, 80, 0, 124, 0, 83, 0, 84, 0, 126, 0, 83, 0, 49, 0, 84, 0, 87, 0, 133, 0, 131, 0, 87, 0, 89, 0, 133, 0, 90, 0, 137, 0, 135, 0, 90, 0, 92, 0, 137, 0, 94, 0, 140, 0, 138, 0, 94, 0, 96, 0, 140, 0, 99, 0, 145, 0, 143, 0, 99, 0, 101, 0, 145, 0, 102, 0, 148, 0, 146, 0, 102, 0, 104, 0, 148, 0, 1, 2, 150, 0, 107, 0, 1, 2, 6, 2, 150, 0, 152, 0, 2, 2, 108, 0, 152, 0, 8, 2, 2, 2, 111, 0, 157, 0, 155, 0, 111, 0, 113, 0, 157, 0, 114, 0, 160, 0, 158, 0, 114, 0, 116, 0, 160, 0, 119, 0, 165, 0, 163, 0, 119, 0, 121, 0, 165, 0, 123, 0, 168, 0, 166, 0, 123, 0, 125, 0, 168, 0, 127, 0, 128, 0, 170, 0, 127, 0, 85, 0, 128, 0, 130, 0, 176, 0, 174, 0, 130, 0, 132, 0, 176, 0, 134, 0, 181, 0, 179, 0, 134, 0, 136, 0, 181, 0, 139, 0, 184, 0, 182, 0, 139, 0, 141, 0, 184, 0, 142, 0, 189, 0, 187, 0, 142, 0, 144, 0, 189, 0, 147, 0, 192, 0, 190, 0, 147, 0, 149, 0, 192, 0, 7, 2, 195, 0, 151, 0, 7, 2, 11, 2, 195, 0, 13, 2, 153, 0, 197, 0, 13, 2, 9, 2, 153, 0, 154, 0, 201, 0, 199, 0, 154, 0, 156, 0, 201, 0, 159, 0, 204, 0, 202, 0, 159, 0, 161, 0, 204, 0, 162, 0, 209, 0, 207, 0, 162, 0, 164, 0, 209, 0, 167, 0, 212, 0, 210, 0, 167, 0, 169, 0, 212, 0, 171, 0, 172, 0, 214, 0, 171, 0, 129, 0, 172, 0, 175, 0, 221, 0, 219, 0, 175, 0, 177, 0, 221, 0, 178, 0, 224, 0, 222, 0, 178, 0, 180, 0, 224, 0, 183, 0, 229, 0, 227, 0, 183, 0, 185, 0, 229, 0, 186, 0, 232, 0, 230, 0, 186, 0, 188, 0, 232, 0, 191, 0, 237, 0, 235, 0, 191, 0, 193, 0, 237, 0, 10, 2, 239, 0, 194, 0, 10, 2, 241, 0, 239, 0, 245, 0, 12, 2, 196, 0, 245, 0, 243, 0, 12, 2, 198, 0, 248, 0, 246, 0, 198, 0, 200, 0, 248, 0, 203, 0, 253, 0, 251, 0, 203, 0, 205, 0, 253, 0, 206, 0, 0, 1, 254, 0, 206, 0, 208, 0, 0, 1, 211, 0, 4, 1, 2, 1, 211, 0, 213, 0, 4, 1, 215, 0, 217, 0, 7, 1, 215, 0, 173, 0, 217, 0, 218, 0, 13, 1, 11, 1, 218, 0, 220, 0, 13, 1, 223, 0, 16, 1, 14, 1, 223, 0, 225, 0, 16, 1, 226, 0, 21, 1, 19, 1, 226, 0, 228, 0, 21, 1, 231, 0, 25, 1, 23, 1, 231, 0, 233, 0, 25, 1, 234, 0, 28, 1, 26, 1, 234, 0, 236, 0, 28, 1, 240, 0, 30, 1, 238, 0, 240, 0, 14, 2, 30, 1, 32, 1, 242, 0, 244, 0, 32, 1, 16, 2, 242, 0, 247, 0, 36, 1, 34, 1, 247, 0, 249, 0, 36, 1, 250, 0, 41, 1, 39, 1, 250, 0, 252, 0, 41, 1, 255, 0, 44, 1, 42, 1, 255, 0, 1, 1, 44, 1, 3, 1, 49, 1, 47, 1, 3, 1, 5, 1, 49, 1, 6, 1, 8, 1, 50, 1, 6, 1, 216, 0, 8, 1, 10, 1, 56, 1, 54, 1, 10, 1, 12, 1, 56, 1, 15, 1, 61, 1, 59, 1, 15, 1, 17, 1, 61, 1, 18, 1, 65, 1, 63, 1, 18, 1, 20, 1, 65, 1, 22, 1, 68, 1, 66, 1, 22, 1, 24, 1, 68, 1, 27, 1, 73, 1, 71, 1, 27, 1, 29, 1, 73, 1, 15, 2, 75, 1, 31, 1, 15, 2, 19, 2, 75, 1, 77, 1, 17, 2, 33, 1, 77, 1, 21, 2, 17, 2, 35, 1, 81, 1, 79, 1, 35, 1, 37, 1, 81, 1, 38, 1, 85, 1, 83, 1, 38, 1, 40, 1, 85, 1, 43, 1, 88, 1, 86, 1, 43, 1, 45, 1, 88, 1, 46, 1, 92, 1, 90, 1, 46, 1, 48, 1, 92, 1, 51, 1, 53, 1, 95, 1, 51, 1, 9, 1, 53, 1, 55, 1, 101, 1, 99, 1, 55, 1, 57, 1, 101, 1, 58, 1, 105, 1, 103, 1, 58, 1, 60, 1, 105, 1, 62, 1, 108, 1, 106, 1, 62, 1, 64, 1, 108, 1, 67, 1, 113, 1, 111, 1, 67, 1, 69, 1, 113, 1, 70, 1, 116, 1, 114, 1, 70, 1, 72, 1, 116, 1, 18, 2, 119, 1, 74, 1, 18, 2, 23, 2, 119, 1, 120, 1, 20, 2, 76, 1, 120, 1, 24, 2, 20, 2, 78, 1, 125, 1, 123, 1, 78, 1, 80, 1, 125, 1, 82, 1, 128, 1, 126, 1, 82, 1, 84, 1, 128, 1, 87, 1, 133, 1, 131, 1, 87, 1, 89, 1, 133, 1, 91, 1, 136, 1, 134, 1, 91, 1, 93, 1, 136, 1, 94, 1, 96, 1, 138, 1, 94, 1, 52, 1, 96, 1, 98, 1, 145, 1, 143, 1, 98, 1, 100, 1, 145, 1, 102, 1, 149, 1, 147, 1, 102, 1, 104, 1, 149, 1, 107, 1, 152, 1, 150, 1, 107, 1, 109, 1, 152, 1, 110, 1, 156, 1, 154, 1, 110, 1, 112, 1, 156, 1, 117, 1, 158, 1, 115, 1, 158, 1, 28, 2, 26, 2, 158, 1, 117, 1, 28, 2, 22, 2, 29, 2, 118, 1, 25, 2, 121, 1, 30, 2, 33, 2, 124, 1, 161, 1, 124, 1, 31, 2, 122, 1, 124, 1, 33, 2, 31, 2, 127, 1, 165, 1, 163, 1, 127, 1, 129, 1, 165, 1, 130, 1, 169, 1, 167, 1, 130, 1, 132, 1, 169, 1, 135, 1, 172, 1, 170, 1, 135, 1, 137, 1, 172, 1, 139, 1, 140, 1, 174, 1, 139, 1, 97, 1, 140, 1, 142, 1, 181, 1, 179, 1, 142, 1, 144, 1, 181, 1, 146, 1, 184, 1, 182, 1, 146, 1, 148, 1, 184, 1, 151, 1, 189, 1, 187, 1, 151, 1, 153, 1, 189, 1, 157, 1, 191, 1, 155, 1, 191, 1, 36, 2, 35, 2, 191, 1, 157, 1, 36, 2, 27, 2, 37, 2, 159, 1, 32, 2, 160, 1, 38, 2, 40, 2, 164, 1, 192, 1, 164, 1, 39, 2, 162, 1, 164, 1, 40, 2, 39, 2, 166, 1, 196, 1, 194, 1, 166, 1, 168, 1, 196, 1, 171, 1, 201, 1, 199, 1, 171, 1, 173, 1, 201, 1, 175, 1, 176, 1, 202, 1, 175, 1, 141, 1, 176, 1, 178, 1, 209, 1, 207, 1, 178, 1, 180, 1, 209, 1, 183, 1, 212, 1, 210, 1, 183, 1, 185, 1, 212, 1, 43, 2, 188, 1, 44, 2, 188, 1, 215, 1, 186, 1, 188, 1, 43, 2, 215, 1, 34, 2, 45, 2, 190, 1, 41, 2, 193, 1, 46, 2, 47, 2, 216, 1, 48, 2, 216, 1, 195, 1, 197, 1, 216, 1, 47, 2, 195, 1, 198, 1, 221, 1, 219, 1, 198, 1, 200, 1, 221, 1, 203, 1, 204, 1, 222, 1, 203, 1, 177, 1, 204, 1, 52, 2, 206, 1, 208, 1, 52, 2, 51, 2, 206, 1, 54, 2, 211, 1, 213, 1, 54, 2, 53, 2, 211, 1, 214, 1, 42, 2, 55, 2, 56, 2, 49, 2, 217, 1, 58, 2, 218, 1, 220, 1, 58, 2, 57, 2, 218, 1, 50, 2, 223, 1, 205, 1, 50, 2, 59, 2, 223, 1),
+"lods": [0.280658, PackedByteArray(226, 1, 228, 1, 8, 0, 228, 1, 230, 1, 8, 0, 238, 1, 8, 0, 230, 1, 226, 1, 8, 0, 24, 0, 224, 1, 226, 1, 24, 0, 8, 0, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 8, 0, 96, 0, 24, 0, 8, 0, 246, 1, 96, 0, 224, 1, 24, 0, 20, 0, 20, 0, 24, 0, 96, 0, 236, 1, 224, 1, 20, 0, 246, 1, 248, 1, 254, 1, 246, 1, 254, 1, 96, 0, 236, 1, 20, 0, 88, 0, 20, 0, 96, 0, 88, 0, 96, 0, 254, 1, 148, 0, 0, 2, 148, 0, 254, 1, 0, 2, 6, 2, 148, 0, 6, 2, 10, 2, 148, 0, 96, 0, 148, 0, 188, 0, 10, 2, 28, 1, 148, 0, 188, 0, 148, 0, 28, 1, 10, 2, 240, 0, 28, 1, 96, 0, 188, 0, 184, 0, 184, 0, 188, 0, 28, 1, 240, 0, 14, 2, 28, 1, 96, 0, 184, 0, 180, 0, 184, 0, 28, 1, 180, 0, 88, 0, 96, 0, 180, 0, 14, 2, 68, 1, 28, 1, 180, 0, 28, 1, 68, 1, 14, 2, 18, 2, 68, 1, 18, 2, 28, 2, 68, 1, 18, 2, 22, 2, 28, 2, 68, 1, 28, 2, 64, 1, 180, 0, 68, 1, 64, 1, 28, 2, 156, 1, 64, 1, 156, 1, 28, 2, 26, 2, 26, 2, 36, 2, 156, 1, 188, 1, 156, 1, 36, 2, 188, 1, 36, 2, 34, 2, 34, 2, 44, 2, 188, 1, 42, 2, 188, 1, 44, 2, 188, 1, 42, 2, 212, 1, 212, 1, 42, 2, 54, 2, 54, 2, 52, 2, 212, 1, 148, 1, 188, 1, 212, 1, 148, 1, 156, 1, 188, 1, 100, 1, 212, 1, 52, 2, 100, 1, 148, 1, 212, 1, 96, 1, 100, 1, 52, 2, 96, 1, 52, 2, 50, 2, 56, 1, 148, 1, 100, 1, 60, 1, 156, 1, 148, 1, 56, 1, 60, 1, 148, 1, 60, 1, 64, 1, 156, 1, 48, 1, 56, 1, 100, 1, 48, 1, 100, 1, 96, 1, 216, 0, 60, 1, 56, 1, 224, 0, 64, 1, 60, 1, 216, 0, 224, 0, 60, 1, 224, 0, 180, 0, 64, 1, 176, 0, 224, 0, 216, 0, 176, 0, 180, 0, 224, 0, 4, 1, 216, 0, 56, 1, 4, 1, 56, 1, 48, 1, 4, 1, 176, 0, 216, 0, 132, 0, 180, 0, 176, 0, 88, 0, 180, 0, 132, 0, 88, 0, 132, 0, 176, 0, 76, 0, 88, 0, 176, 0, 76, 0, 176, 0, 4, 1, 40, 0, 88, 0, 76, 0, 236, 1, 88, 0, 40, 0, 234, 1, 236, 1, 40, 0, 36, 0, 234, 1, 40, 0, 36, 0, 40, 0, 76, 0, 36, 0, 232, 1, 234, 1, 232, 1, 36, 0, 244, 1, 242, 1, 244, 1, 36, 0, 36, 0, 252, 1, 242, 1, 36, 0, 76, 0, 164, 0, 164, 0, 76, 0, 4, 1, 36, 0, 68, 0, 252, 1, 250, 1, 252, 1, 68, 0, 36, 0, 164, 0, 160, 0, 68, 0, 36, 0, 160, 0, 160, 0, 164, 0, 4, 1, 68, 0, 4, 2, 250, 1, 4, 2, 68, 0, 160, 0, 4, 2, 8, 2, 2, 2, 12, 2, 8, 2, 4, 2, 12, 2, 4, 2, 32, 1, 4, 2, 160, 0, 32, 1, 32, 1, 242, 0, 12, 2, 32, 1, 16, 2, 242, 0, 32, 1, 20, 2, 16, 2, 30, 2, 20, 2, 32, 1, 30, 2, 24, 2, 20, 2, 32, 1, 160, 0, 252, 0, 160, 0, 4, 1, 252, 0, 32, 1, 124, 1, 30, 2, 32, 1, 252, 0, 124, 1, 124, 1, 32, 2, 30, 2, 32, 2, 124, 1, 38, 2, 124, 1, 164, 1, 38, 2, 164, 1, 40, 2, 38, 2, 252, 0, 84, 1, 124, 1, 252, 0, 4, 1, 84, 1, 124, 1, 84, 1, 164, 1, 40, 2, 164, 1, 46, 2, 4, 1, 92, 1, 84, 1, 4, 1, 48, 1, 92, 1, 92, 1, 48, 1, 96, 1, 84, 1, 92, 1, 168, 1, 84, 1, 168, 1, 164, 1, 92, 1, 96, 1, 168, 1, 164, 1, 216, 1, 46, 2, 164, 1, 168, 1, 216, 1, 46, 2, 216, 1, 48, 2, 56, 2, 48, 2, 216, 1, 58, 2, 56, 2, 216, 1, 168, 1, 96, 1, 200, 1, 168, 1, 200, 1, 216, 1, 216, 1, 200, 1, 58, 2, 200, 1, 96, 1, 50, 2, 200, 1, 50, 2, 58, 2), 0.614485, PackedByteArray(224, 1, 226, 1, 88, 0, 236, 1, 224, 1, 88, 0, 226, 1, 228, 1, 88, 0, 236, 1, 88, 0, 234, 1, 238, 1, 228, 1, 230, 1, 228, 1, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 228, 1, 96, 0, 88, 0, 228, 1, 246, 1, 96, 0, 234, 1, 88, 0, 176, 0, 88, 0, 96, 0, 176, 0, 246, 1, 248, 1, 254, 1, 246, 1, 254, 1, 96, 0, 96, 0, 254, 1, 6, 2, 0, 2, 6, 2, 254, 1, 96, 0, 6, 2, 14, 2, 10, 2, 14, 2, 6, 2, 10, 2, 240, 0, 14, 2, 96, 0, 14, 2, 60, 1, 176, 0, 96, 0, 60, 1, 60, 1, 14, 2, 36, 2, 56, 1, 176, 0, 60, 1, 60, 1, 36, 2, 56, 1, 14, 2, 28, 2, 36, 2, 18, 2, 28, 2, 14, 2, 18, 2, 22, 2, 28, 2, 36, 2, 28, 2, 26, 2, 44, 2, 36, 2, 34, 2, 56, 1, 36, 2, 44, 2, 44, 2, 42, 2, 54, 2, 56, 1, 44, 2, 54, 2, 56, 1, 54, 2, 52, 2, 50, 2, 56, 1, 52, 2, 4, 1, 176, 0, 56, 1, 4, 1, 56, 1, 50, 2, 234, 1, 176, 0, 4, 1, 4, 1, 50, 2, 168, 1, 168, 1, 50, 2, 58, 2, 252, 1, 234, 1, 4, 1, 252, 1, 232, 1, 234, 1, 232, 1, 252, 1, 244, 1, 242, 1, 244, 1, 252, 1, 56, 2, 168, 1, 58, 2, 252, 0, 4, 1, 168, 1, 252, 1, 4, 1, 252, 0, 250, 1, 252, 1, 4, 2, 4, 2, 252, 1, 252, 0, 4, 2, 252, 0, 2, 2, 46, 2, 56, 2, 48, 2, 38, 2, 56, 2, 46, 2, 38, 2, 168, 1, 56, 2, 40, 2, 38, 2, 46, 2, 30, 2, 168, 1, 38, 2, 252, 0, 168, 1, 30, 2, 32, 2, 30, 2, 38, 2, 2, 2, 252, 0, 32, 1, 32, 1, 252, 0, 30, 2, 12, 2, 8, 2, 2, 2, 12, 2, 2, 2, 32, 1, 32, 1, 242, 0, 12, 2, 32, 1, 16, 2, 242, 0, 32, 1, 20, 2, 16, 2, 30, 2, 20, 2, 32, 1, 30, 2, 24, 2, 20, 2), 1.83976, PackedByteArray(238, 1, 228, 1, 230, 1, 228, 1, 238, 1, 246, 1, 238, 1, 240, 1, 246, 1, 228, 1, 246, 1, 79, 2, 79, 2, 246, 1, 82, 2, 80, 2, 79, 2, 82, 2, 0, 2, 6, 2, 246, 1, 246, 1, 6, 2, 240, 0, 10, 2, 240, 0, 6, 2, 246, 1, 240, 0, 83, 2, 44, 2, 42, 2, 82, 2, 82, 2, 34, 2, 44, 2, 82, 2, 240, 0, 34, 2, 240, 0, 28, 2, 34, 2, 34, 2, 28, 2, 26, 2, 18, 2, 28, 2, 240, 0, 18, 2, 22, 2, 28, 2, 80, 2, 82, 2, 81, 2, 81, 2, 82, 2, 50, 2, 81, 2, 50, 2, 58, 2, 242, 1, 80, 2, 81, 2, 56, 2, 81, 2, 58, 2, 81, 2, 56, 2, 46, 2, 46, 2, 56, 2, 48, 2, 40, 2, 81, 2, 46, 2, 2, 2, 242, 1, 81, 2, 250, 1, 242, 1, 2, 2, 2, 2, 81, 2, 20, 2, 12, 2, 2, 2, 20, 2, 12, 2, 8, 2, 2, 2, 20, 2, 242, 0, 12, 2, 20, 2, 16, 2, 242, 0), 1.90169, PackedByteArray(62, 2, 61, 2, 64, 2, 62, 2, 64, 2, 60, 2, 65, 2, 60, 2, 64, 2, 42, 2, 61, 2, 63, 2), 2.01908, PackedByteArray(8, 2, 68, 2, 16, 2, 12, 2, 8, 2, 16, 2, 16, 2, 242, 0, 12, 2, 16, 2, 68, 2, 70, 2, 68, 2, 67, 2, 70, 2, 46, 2, 16, 2, 70, 2, 66, 2, 0, 2, 69, 2, 66, 2, 69, 2, 71, 2)],
+"material": SubResource("StandardMaterial3D_sgl8b"),
+"primitive": 3,
+"vertex_count": 596,
+"vertex_data": PackedByteArray(162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 7, 73, 204, 244, 255, 127, 251, 215, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 45, 67, 255, 244, 255, 127, 63, 219, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 209, 188, 255, 244, 255, 127, 63, 219, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 192, 247, 182, 204, 244, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 247, 182, 204, 244, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 130, 194, 86, 226, 255, 127, 251, 215, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 130, 194, 86, 226, 255, 127, 251, 215, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 132, 208, 177, 210, 255, 127, 63, 219, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 192, 166, 204, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 183, 56, 200, 226, 255, 127, 63, 219, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 192, 124, 61, 86, 226, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 124, 61, 86, 226, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 7, 73, 204, 244, 255, 127, 251, 215, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 192, 45, 67, 255, 244, 255, 127, 63, 219, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 22, 79, 125, 244, 255, 127, 140, 212, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 7, 73, 204, 244, 255, 127, 251, 215, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 247, 182, 204, 244, 255, 127, 251, 215, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 192, 232, 176, 125, 244, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 247, 182, 204, 244, 255, 127, 251, 215, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 232, 176, 125, 244, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 178, 189, 167, 225, 255, 127, 140, 212, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 192, 130, 194, 86, 226, 255, 127, 251, 215, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 178, 189, 167, 225, 255, 127, 140, 212, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 130, 194, 86, 226, 255, 127, 251, 215, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 215, 200, 60, 209, 255, 127, 140, 212, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 215, 200, 60, 209, 255, 127, 140, 212, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 238, 214, 173, 193, 255, 127, 251, 215, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 192, 13, 212, 185, 192, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 241, 43, 185, 192, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 39, 55, 60, 209, 255, 127, 140, 212, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 39, 55, 60, 209, 255, 127, 140, 212, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 88, 51, 30, 210, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 124, 61, 86, 226, 255, 127, 251, 215, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 192, 76, 66, 167, 225, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 124, 61, 86, 226, 255, 127, 251, 215, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 76, 66, 167, 225, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 22, 79, 125, 244, 255, 127, 140, 212, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 192, 7, 73, 204, 244, 255, 127, 251, 215, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 22, 79, 125, 244, 255, 127, 140, 212, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 121, 85, 14, 244, 255, 127, 220, 208, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 133, 170, 14, 244, 255, 127, 220, 208, 160, 11, 106, 181, 16, 53, 198, 63, 202, 18, 153, 192, 232, 176, 125, 244, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 133, 170, 14, 244, 255, 127, 220, 208, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 232, 176, 125, 244, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 178, 189, 167, 225, 255, 127, 140, 212, 218, 164, 37, 63, 40, 34, 188, 63, 188, 7, 152, 192, 198, 184, 179, 224, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 178, 189, 167, 225, 255, 127, 140, 212, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 198, 184, 179, 224, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 15, 197, 5, 208, 255, 127, 220, 208, 249, 255, 159, 63, 72, 153, 158, 63, 200, 248, 148, 192, 215, 200, 60, 209, 255, 127, 140, 212, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 215, 200, 60, 209, 255, 127, 140, 212, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 73, 209, 107, 191, 255, 127, 220, 208, 40, 70, 226, 63, 64, 59, 95, 63, 72, 27, 144, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 73, 209, 107, 191, 255, 127, 220, 208, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 20, 225, 136, 173, 255, 127, 140, 212, 99, 144, 10, 64, 192, 139, 201, 62, 28, 196, 137, 192, 85, 223, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 234, 30, 136, 173, 255, 127, 140, 212, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 181, 46, 107, 191, 255, 127, 220, 208, 106, 144, 10, 192, 192, 139, 201, 62, 28, 196, 137, 192, 241, 43, 185, 192, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 241, 43, 185, 192, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 39, 55, 60, 209, 255, 127, 140, 212, 55, 70, 226, 191, 64, 59, 95, 63, 72, 27, 144, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 39, 55, 60, 209, 255, 127, 140, 212, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 56, 71, 179, 224, 255, 127, 220, 208, 8, 0, 160, 191, 72, 153, 158, 63, 200, 248, 148, 192, 76, 66, 167, 225, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 56, 71, 179, 224, 255, 127, 220, 208, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 76, 66, 167, 225, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 22, 79, 125, 244, 255, 127, 140, 212, 248, 164, 37, 191, 40, 34, 188, 63, 188, 7, 152, 192, 121, 85, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 121, 85, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 89, 92, 122, 243, 255, 127, 209, 204, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 133, 170, 14, 244, 255, 127, 220, 208, 175, 107, 114, 181, 192, 26, 251, 63, 90, 58, 104, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 133, 170, 14, 244, 255, 127, 220, 208, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 171, 179, 113, 223, 255, 127, 209, 204, 218, 164, 37, 63, 144, 171, 240, 63, 54, 165, 102, 192, 198, 184, 179, 224, 255, 127, 220, 208, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 198, 184, 179, 224, 255, 127, 220, 208, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 68, 193, 111, 206, 255, 127, 209, 204, 248, 255, 159, 63, 32, 20, 210, 63, 99, 1, 98, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 68, 193, 111, 206, 255, 127, 209, 204, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 15, 197, 5, 208, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 73, 209, 107, 191, 255, 127, 220, 208, 40, 70, 226, 63, 16, 106, 161, 63, 213, 159, 90, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 73, 209, 107, 191, 255, 127, 220, 208, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 188, 221, 214, 170, 255, 127, 209, 204, 99, 144, 10, 64, 224, 252, 67, 63, 81, 1, 81, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 188, 221, 214, 170, 255, 127, 209, 204, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 102, 242, 116, 146, 255, 127, 220, 208, 79, 140, 26, 64, 64, 29, 65, 62, 169, 205, 69, 192, 226, 241, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 28, 14, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 169, 32, 88, 172, 255, 127, 220, 208, 85, 140, 26, 192, 64, 29, 65, 62, 169, 205, 69, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 96, 49, 189, 189, 255, 127, 209, 204, 106, 144, 10, 192, 224, 252, 67, 63, 81, 1, 81, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 96, 49, 189, 189, 255, 127, 209, 204, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 181, 46, 107, 191, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 239, 58, 5, 208, 255, 127, 220, 208, 55, 70, 226, 191, 16, 106, 161, 63, 213, 159, 90, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 239, 58, 5, 208, 255, 127, 220, 208, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 56, 71, 179, 224, 255, 127, 220, 208, 8, 0, 160, 191, 32, 20, 210, 63, 99, 1, 98, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 56, 71, 179, 224, 255, 127, 220, 208, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 121, 85, 14, 244, 255, 127, 220, 208, 248, 164, 37, 191, 144, 171, 240, 63, 54, 165, 102, 192, 89, 92, 122, 243, 255, 127, 209, 204, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 89, 92, 122, 243, 255, 127, 209, 204, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 230, 99, 183, 242, 255, 127, 67, 200, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 24, 156, 183, 242, 255, 127, 67, 200, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 24, 156, 183, 242, 255, 127, 67, 200, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 165, 163, 122, 243, 255, 127, 209, 204, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 74, 174, 210, 221, 255, 127, 67, 200, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 171, 179, 113, 223, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 68, 193, 111, 206, 255, 127, 209, 204, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 192, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 68, 193, 111, 206, 255, 127, 209, 204, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 13, 204, 165, 187, 255, 127, 67, 200, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 158, 206, 189, 189, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 188, 221, 214, 170, 255, 127, 209, 204, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 192, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 188, 221, 214, 170, 255, 127, 209, 204, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 226, 241, 164, 145, 255, 127, 209, 204, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 192, 123, 241, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 28, 14, 164, 145, 255, 127, 209, 204, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 132, 14, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 177, 35, 252, 168, 255, 127, 67, 200, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 66, 34, 214, 170, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 96, 49, 189, 189, 255, 127, 209, 204, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 192, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 96, 49, 189, 189, 255, 127, 209, 204, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 142, 66, 109, 204, 255, 127, 67, 200, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 186, 62, 111, 206, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 83, 76, 113, 223, 255, 127, 209, 204, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 192, 180, 81, 210, 221, 255, 127, 67, 200, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 83, 76, 113, 223, 255, 127, 209, 204, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 180, 81, 210, 221, 255, 127, 67, 200, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 89, 92, 122, 243, 255, 127, 209, 204, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 192, 230, 99, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 230, 99, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 102, 108, 185, 241, 255, 127, 254, 194, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 24, 156, 183, 242, 255, 127, 67, 200, 237, 27, 124, 181, 216, 37, 28, 64, 180, 211, 156, 191, 152, 147, 185, 241, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 24, 156, 183, 242, 255, 127, 67, 200, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 152, 147, 185, 241, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 134, 168, 195, 219, 255, 127, 254, 194, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 191, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 134, 168, 195, 219, 255, 127, 254, 194, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 74, 174, 210, 221, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 112, 189, 109, 204, 255, 127, 67, 200, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 191, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 112, 189, 109, 204, 255, 127, 67, 200, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 149, 201, 21, 185, 255, 127, 254, 194, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 191, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 149, 201, 21, 185, 255, 127, 254, 194, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 13, 204, 165, 187, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 77, 220, 252, 168, 255, 127, 67, 200, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 191, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 77, 220, 252, 168, 255, 127, 67, 200, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 48, 241, 136, 143, 255, 127, 254, 194, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 191, 123, 241, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 132, 14, 170, 144, 255, 127, 67, 200, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 245, 36, 197, 166, 255, 127, 254, 194, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 191, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 245, 36, 197, 166, 255, 127, 254, 194, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 177, 35, 252, 168, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 241, 51, 165, 187, 255, 127, 67, 200, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 191, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 241, 51, 165, 187, 255, 127, 67, 200, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 119, 70, 236, 201, 255, 127, 254, 194, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 191, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 119, 70, 236, 201, 255, 127, 254, 194, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 142, 66, 109, 204, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 180, 81, 210, 221, 255, 127, 67, 200, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 191, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 180, 81, 210, 221, 255, 127, 67, 200, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 230, 99, 183, 242, 255, 127, 67, 200, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 191, 102, 108, 185, 241, 255, 127, 254, 194, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 186, 113, 102, 236, 255, 127, 0, 189, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 102, 108, 185, 241, 255, 127, 254, 194, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 69, 142, 102, 236, 255, 127, 0, 189, 52, 84, 125, 181, 0, 0, 32, 64, 204, 171, 146, 181, 152, 147, 185, 241, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 69, 142, 102, 236, 255, 127, 0, 189, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 152, 147, 185, 241, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 134, 168, 195, 219, 255, 127, 254, 194, 223, 164, 37, 63, 63, 140, 26, 64, 234, 171, 145, 181, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 134, 168, 195, 219, 255, 127, 254, 194, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 17, 182, 118, 198, 255, 127, 0, 189, 248, 255, 159, 63, 104, 144, 10, 64, 181, 189, 142, 181, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 135, 185, 236, 201, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 149, 201, 21, 185, 255, 127, 254, 194, 40, 70, 226, 63, 48, 70, 226, 63, 76, 20, 138, 181, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 149, 201, 21, 185, 255, 127, 254, 194, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 56, 217, 244, 164, 255, 127, 0, 189, 99, 144, 10, 64, 0, 0, 160, 63, 4, 1, 132, 181, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 56, 217, 244, 164, 255, 127, 0, 189, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 9, 219, 197, 166, 255, 127, 254, 194, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 118, 240, 205, 142, 255, 127, 0, 189, 79, 140, 26, 64, 240, 164, 37, 63, 182, 219, 121, 181, 48, 241, 136, 143, 255, 127, 254, 194, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 118, 240, 205, 142, 255, 127, 0, 189, 253, 255, 31, 64, 0, 0, 0, 0, 122, 172, 106, 181, 48, 241, 136, 143, 255, 127, 254, 194, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 136, 15, 205, 142, 255, 127, 0, 189, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 136, 15, 205, 142, 255, 127, 0, 189, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 206, 14, 136, 143, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 245, 36, 197, 166, 255, 127, 254, 194, 85, 140, 26, 192, 240, 164, 37, 63, 182, 219, 121, 181, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 245, 36, 197, 166, 255, 127, 254, 194, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 22, 57, 105, 182, 255, 127, 0, 189, 106, 144, 10, 192, 0, 0, 160, 63, 4, 1, 132, 181, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 105, 54, 21, 185, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 119, 70, 236, 201, 255, 127, 254, 194, 55, 70, 226, 191, 48, 70, 226, 63, 76, 20, 138, 181, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 119, 70, 236, 201, 255, 127, 254, 194, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 120, 87, 195, 219, 255, 127, 254, 194, 8, 0, 160, 191, 104, 144, 10, 64, 181, 189, 142, 181, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 120, 87, 195, 219, 255, 127, 254, 194, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 186, 113, 102, 236, 255, 127, 0, 189, 250, 164, 37, 191, 80, 140, 26, 64, 234, 171, 145, 181, 102, 108, 185, 241, 255, 127, 254, 194, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 186, 113, 102, 236, 255, 127, 0, 189, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 183, 114, 229, 227, 255, 127, 186, 183, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 71, 141, 229, 227, 255, 127, 186, 183, 237, 27, 124, 181, 217, 37, 28, 64, 174, 211, 156, 63, 69, 142, 102, 236, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 71, 141, 229, 227, 255, 127, 186, 183, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 69, 142, 102, 236, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 58, 164, 119, 215, 255, 127, 0, 189, 217, 164, 37, 63, 224, 184, 22, 64, 27, 194, 155, 63, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 58, 164, 119, 215, 255, 127, 0, 189, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 144, 179, 142, 194, 255, 127, 186, 183, 248, 255, 159, 63, 172, 208, 6, 64, 243, 159, 152, 63, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 17, 182, 118, 198, 255, 127, 0, 189, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 89, 196, 240, 179, 255, 127, 186, 183, 40, 70, 226, 63, 96, 5, 219, 63, 232, 163, 147, 63, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 89, 196, 240, 179, 255, 127, 186, 183, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 232, 198, 105, 182, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 56, 217, 244, 164, 255, 127, 0, 189, 99, 144, 10, 64, 240, 16, 153, 63, 239, 36, 141, 63, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 56, 217, 244, 164, 255, 127, 0, 189, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 118, 240, 205, 142, 255, 127, 0, 189, 79, 140, 26, 64, 0, 133, 24, 63, 93, 148, 133, 63, 83, 239, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 136, 15, 205, 142, 255, 127, 0, 189, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 171, 16, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 198, 38, 244, 164, 255, 127, 0, 189, 85, 140, 26, 192, 0, 133, 24, 63, 93, 148, 133, 63, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 198, 38, 244, 164, 255, 127, 0, 189, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 165, 59, 240, 179, 255, 127, 186, 183, 106, 144, 10, 192, 240, 16, 153, 63, 239, 36, 141, 63, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 22, 57, 105, 182, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 237, 73, 118, 198, 255, 127, 0, 189, 55, 70, 226, 191, 96, 5, 219, 63, 232, 163, 147, 63, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 237, 73, 118, 198, 255, 127, 0, 189, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 211, 93, 180, 209, 255, 127, 186, 183, 8, 0, 160, 191, 172, 208, 6, 64, 243, 159, 152, 63, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 211, 93, 180, 209, 255, 127, 186, 183, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 196, 91, 119, 215, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 186, 113, 102, 236, 255, 127, 0, 189, 250, 164, 37, 191, 224, 184, 22, 64, 27, 194, 155, 63, 183, 114, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 122, 115, 88, 220, 255, 127, 45, 179, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 183, 114, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 71, 141, 229, 227, 255, 127, 186, 183, 22, 118, 120, 181, 212, 160, 16, 64, 127, 18, 28, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 71, 141, 229, 227, 255, 127, 186, 183, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 141, 160, 83, 204, 255, 127, 45, 179, 218, 164, 37, 63, 244, 71, 11, 64, 54, 2, 27, 64, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 43, 162, 180, 209, 255, 127, 186, 183, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 142, 177, 185, 190, 255, 127, 45, 179, 248, 255, 159, 63, 88, 53, 247, 63, 235, 227, 23, 64, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 142, 177, 185, 190, 255, 127, 45, 179, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 144, 179, 142, 194, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 89, 196, 240, 179, 255, 127, 186, 183, 40, 70, 226, 63, 224, 84, 197, 63, 4, 238, 18, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 89, 196, 240, 179, 255, 127, 186, 183, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 40, 213, 65, 162, 255, 127, 45, 179, 99, 144, 10, 64, 176, 84, 132, 63, 12, 119, 12, 64, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 40, 213, 65, 162, 255, 127, 45, 179, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 2, 215, 177, 163, 255, 127, 186, 183, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 90, 238, 27, 142, 255, 127, 45, 179, 79, 140, 26, 64, 32, 139, 226, 62, 203, 239, 4, 64, 83, 239, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 164, 17, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 171, 16, 131, 142, 255, 127, 186, 183, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 214, 42, 65, 162, 255, 127, 45, 179, 85, 140, 26, 192, 32, 139, 226, 62, 203, 239, 4, 64, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 252, 40, 177, 163, 255, 127, 186, 183, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 190, 61, 95, 177, 255, 127, 45, 179, 106, 144, 10, 192, 176, 84, 132, 63, 12, 119, 12, 64, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 190, 61, 95, 177, 255, 127, 45, 179, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 165, 59, 240, 179, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 110, 76, 142, 194, 255, 127, 186, 183, 55, 70, 226, 191, 224, 84, 197, 63, 4, 238, 18, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 110, 76, 142, 194, 255, 127, 186, 183, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 211, 93, 180, 209, 255, 127, 186, 183, 8, 0, 160, 191, 88, 53, 247, 63, 235, 227, 23, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 211, 93, 180, 209, 255, 127, 186, 183, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 122, 115, 88, 220, 255, 127, 45, 179, 248, 164, 37, 191, 244, 71, 11, 64, 54, 2, 27, 64, 183, 114, 229, 227, 255, 127, 186, 183, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 122, 115, 88, 220, 255, 127, 45, 179, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 15, 116, 121, 213, 255, 127, 33, 175, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 239, 139, 121, 213, 255, 127, 33, 175, 178, 107, 114, 181, 208, 26, 251, 63, 68, 58, 104, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 132, 140, 88, 220, 255, 127, 45, 179, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 74, 159, 55, 199, 255, 127, 33, 175, 218, 164, 37, 63, 152, 171, 240, 63, 30, 165, 102, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 74, 159, 55, 199, 255, 127, 33, 175, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 141, 160, 83, 204, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 142, 177, 185, 190, 255, 127, 45, 179, 248, 255, 159, 63, 48, 20, 210, 63, 77, 1, 98, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 142, 177, 185, 190, 255, 127, 45, 179, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 146, 192, 181, 174, 255, 127, 33, 175, 40, 70, 226, 63, 40, 106, 161, 63, 190, 159, 90, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 146, 192, 181, 174, 255, 127, 33, 175, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 64, 194, 95, 177, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 40, 213, 65, 162, 255, 127, 45, 179, 99, 144, 10, 64, 16, 253, 67, 63, 60, 1, 81, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 40, 213, 65, 162, 255, 127, 45, 179, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 137, 237, 151, 141, 255, 127, 33, 175, 79, 140, 26, 64, 192, 29, 65, 62, 149, 205, 69, 64, 90, 238, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 164, 17, 27, 142, 255, 127, 45, 179, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 117, 18, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 89, 44, 169, 160, 255, 127, 33, 175, 85, 140, 26, 192, 192, 29, 65, 62, 149, 205, 69, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 89, 44, 169, 160, 255, 127, 33, 175, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 214, 42, 65, 162, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 190, 61, 95, 177, 255, 127, 45, 179, 106, 144, 10, 192, 16, 253, 67, 63, 60, 1, 81, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 190, 61, 95, 177, 255, 127, 45, 179, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 6, 80, 239, 186, 255, 127, 33, 175, 55, 70, 226, 191, 40, 106, 161, 63, 190, 159, 90, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 112, 78, 185, 190, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 113, 95, 83, 204, 255, 127, 45, 179, 8, 0, 160, 191, 48, 20, 210, 63, 77, 1, 98, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 113, 95, 83, 204, 255, 127, 45, 179, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 122, 115, 88, 220, 255, 127, 45, 179, 248, 164, 37, 191, 152, 171, 240, 63, 30, 165, 102, 64, 15, 116, 121, 213, 255, 127, 33, 175, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 15, 116, 121, 213, 255, 127, 33, 175, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 126, 116, 22, 207, 255, 127, 114, 171, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 128, 139, 22, 207, 255, 127, 114, 171, 162, 11, 106, 181, 32, 53, 198, 63, 191, 18, 153, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 128, 139, 22, 207, 255, 127, 114, 171, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 239, 139, 121, 213, 255, 127, 33, 175, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 87, 158, 76, 194, 255, 127, 114, 171, 218, 164, 37, 63, 56, 34, 188, 63, 178, 7, 152, 64, 74, 159, 55, 199, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 87, 158, 76, 194, 255, 127, 114, 171, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 74, 159, 55, 199, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 248, 175, 239, 186, 255, 127, 33, 175, 249, 255, 159, 63, 96, 153, 158, 63, 190, 248, 148, 64, 193, 174, 38, 183, 255, 127, 114, 171, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 248, 175, 239, 186, 255, 127, 33, 175, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 193, 174, 38, 183, 255, 127, 114, 171, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 146, 192, 181, 174, 255, 127, 33, 175, 40, 70, 226, 63, 112, 59, 95, 63, 61, 27, 144, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 146, 192, 181, 174, 255, 127, 33, 175, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 165, 211, 169, 160, 255, 127, 33, 175, 99, 144, 10, 64, 32, 140, 201, 62, 18, 196, 137, 64, 117, 210, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 137, 45, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 89, 44, 169, 160, 255, 127, 33, 175, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 185, 64, 240, 171, 255, 127, 114, 171, 106, 144, 10, 192, 32, 140, 201, 62, 18, 196, 137, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 185, 64, 240, 171, 255, 127, 114, 171, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 108, 63, 181, 174, 255, 127, 33, 175, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 61, 81, 38, 183, 255, 127, 114, 171, 55, 70, 226, 191, 112, 59, 95, 63, 61, 27, 144, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 61, 81, 38, 183, 255, 127, 114, 171, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 6, 80, 239, 186, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 180, 96, 56, 199, 255, 127, 33, 175, 8, 0, 160, 191, 96, 153, 158, 63, 190, 248, 148, 64, 167, 97, 76, 194, 255, 127, 114, 171, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 180, 96, 56, 199, 255, 127, 33, 175, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 167, 97, 76, 194, 255, 127, 114, 171, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 15, 116, 121, 213, 255, 127, 33, 175, 248, 164, 37, 191, 56, 34, 188, 63, 178, 7, 152, 64, 126, 116, 22, 207, 255, 127, 114, 171, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 126, 116, 22, 207, 255, 127, 114, 171, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 205, 116, 7, 201, 255, 127, 3, 168, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 49, 139, 7, 201, 255, 127, 3, 168, 140, 106, 95, 181, 0, 19, 131, 63, 4, 143, 188, 64, 128, 139, 22, 207, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 49, 139, 7, 201, 255, 127, 3, 168, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 128, 139, 22, 207, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 87, 158, 76, 194, 255, 127, 114, 171, 220, 164, 37, 63, 96, 234, 114, 63, 14, 70, 187, 64, 167, 157, 124, 189, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 87, 158, 76, 194, 255, 127, 114, 171, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 167, 157, 124, 189, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 224, 173, 87, 179, 255, 127, 3, 168, 249, 255, 159, 63, 128, 135, 58, 63, 153, 129, 183, 64, 193, 174, 38, 183, 255, 127, 114, 171, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 193, 174, 38, 183, 255, 127, 114, 171, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 81, 190, 16, 169, 255, 127, 3, 168, 42, 70, 226, 63, 64, 169, 193, 62, 93, 131, 177, 64, 69, 191, 240, 171, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 185, 64, 240, 171, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 173, 65, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 61, 81, 38, 183, 255, 127, 114, 171, 54, 70, 226, 191, 64, 169, 193, 62, 93, 131, 177, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 61, 81, 38, 183, 255, 127, 114, 171, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 87, 98, 124, 189, 255, 127, 3, 168, 6, 0, 160, 191, 128, 135, 58, 63, 153, 129, 183, 64, 167, 97, 76, 194, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 87, 98, 124, 189, 255, 127, 3, 168, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 167, 97, 76, 194, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 126, 116, 22, 207, 255, 127, 114, 171, 247, 164, 37, 191, 96, 234, 114, 63, 14, 70, 187, 64, 205, 116, 7, 201, 255, 127, 3, 168, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 205, 116, 7, 201, 255, 127, 3, 168, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 0, 117, 45, 195, 255, 127, 190, 164, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 254, 138, 45, 195, 255, 127, 190, 164, 162, 162, 82, 181, 192, 103, 201, 62, 104, 58, 222, 64, 49, 139, 7, 201, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 49, 139, 7, 201, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 167, 157, 124, 189, 255, 127, 3, 168, 221, 164, 37, 63, 0, 36, 165, 62, 180, 182, 220, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 167, 157, 124, 189, 255, 127, 3, 168, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 77, 173, 122, 175, 255, 127, 190, 164, 250, 255, 159, 63, 0, 70, 235, 61, 8, 70, 216, 64, 224, 173, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 30, 82, 87, 179, 255, 127, 3, 168, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 177, 82, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 200, 98, 183, 184, 255, 127, 190, 164, 6, 0, 160, 191, 0, 70, 235, 61, 8, 70, 216, 64, 87, 98, 124, 189, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 87, 98, 124, 189, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 205, 116, 7, 201, 255, 127, 3, 168, 246, 164, 37, 191, 0, 36, 165, 62, 180, 182, 220, 64, 0, 117, 45, 195, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 45, 67, 255, 244, 255, 127, 63, 219, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 209, 188, 255, 244, 255, 127, 63, 219, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 71, 199, 200, 226, 255, 127, 63, 219, 250, 255, 159, 63, 0, 0, 0, 0, 244, 58, 221, 192, 132, 208, 177, 210, 255, 127, 63, 219, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 132, 208, 177, 210, 255, 127, 63, 219, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 192, 166, 204, 30, 210, 255, 127, 251, 215, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 88, 51, 30, 210, 255, 127, 251, 215, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 122, 47, 177, 210, 255, 127, 63, 219, 6, 0, 160, 191, 0, 0, 0, 0, 244, 58, 221, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 183, 56, 200, 226, 255, 127, 63, 219, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 45, 67, 255, 244, 255, 127, 63, 219, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 166, 204, 30, 210, 255, 127, 251, 215, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 238, 214, 173, 193, 255, 127, 251, 215, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 238, 214, 173, 193, 255, 127, 251, 215, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 13, 212, 185, 192, 255, 127, 140, 212, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 241, 43, 185, 192, 255, 127, 139, 212, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 16, 41, 173, 193, 255, 127, 251, 215, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 88, 51, 30, 210, 255, 127, 251, 215, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 13, 212, 185, 192, 255, 127, 140, 212, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 192, 20, 225, 136, 173, 255, 127, 140, 212, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 20, 225, 136, 173, 255, 127, 140, 212, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 85, 223, 88, 172, 255, 127, 220, 208, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 234, 30, 136, 173, 255, 127, 140, 212, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 169, 32, 88, 172, 255, 127, 220, 208, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 234, 30, 136, 173, 255, 127, 140, 212, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 192, 241, 43, 185, 192, 255, 127, 140, 212, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 85, 223, 88, 172, 255, 127, 220, 208, 79, 140, 26, 64, 0, 0, 0, 0, 38, 137, 103, 192, 102, 242, 116, 146, 255, 127, 220, 208, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 102, 242, 116, 146, 255, 127, 220, 208, 102, 53, 28, 64, 0, 0, 0, 0, 95, 36, 66, 192, 226, 241, 164, 145, 255, 127, 209, 204, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 28, 14, 164, 145, 255, 127, 209, 204, 108, 53, 28, 192, 0, 0, 0, 0, 95, 36, 66, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 152, 13, 116, 146, 255, 127, 220, 208, 85, 140, 26, 192, 0, 0, 0, 0, 38, 137, 103, 192, 169, 32, 88, 172, 255, 127, 220, 208, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 226, 241, 164, 145, 255, 127, 209, 204, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 191, 123, 241, 170, 144, 255, 127, 67, 200, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 28, 14, 164, 145, 255, 127, 209, 204, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 191, 132, 14, 170, 144, 255, 127, 67, 200, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 48, 241, 136, 143, 255, 127, 254, 194, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 123, 241, 170, 144, 255, 127, 67, 200, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 206, 14, 136, 143, 255, 127, 254, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 191, 132, 14, 170, 144, 255, 127, 67, 200, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 118, 240, 205, 142, 255, 127, 0, 189, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 63, 83, 239, 131, 142, 255, 127, 186, 183, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 136, 15, 205, 142, 255, 127, 0, 189, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 171, 16, 131, 142, 255, 127, 186, 183, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 90, 238, 27, 142, 255, 127, 45, 179, 104, 89, 30, 64, 0, 0, 0, 0, 154, 155, 254, 63, 83, 239, 131, 142, 255, 127, 186, 183, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 164, 17, 27, 142, 255, 127, 45, 179, 110, 89, 30, 192, 0, 0, 0, 0, 154, 155, 254, 63, 171, 16, 131, 142, 255, 127, 186, 183, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 137, 237, 151, 141, 255, 127, 33, 175, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 90, 238, 27, 142, 255, 127, 45, 179, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 164, 17, 27, 142, 255, 127, 45, 179, 109, 53, 28, 192, 0, 0, 0, 0, 72, 36, 66, 64, 117, 18, 151, 141, 255, 127, 33, 175, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 165, 211, 169, 160, 255, 127, 33, 175, 248, 219, 21, 64, 0, 0, 0, 0, 86, 140, 132, 64, 117, 210, 233, 158, 255, 127, 114, 171, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 165, 211, 169, 160, 255, 127, 33, 175, 79, 140, 26, 64, 0, 0, 0, 0, 43, 137, 103, 64, 137, 237, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 117, 18, 151, 141, 255, 127, 33, 175, 85, 140, 26, 192, 0, 0, 0, 0, 43, 137, 103, 64, 89, 44, 169, 160, 255, 127, 33, 175, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 137, 45, 233, 158, 255, 127, 114, 171, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 89, 44, 169, 160, 255, 127, 33, 175, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 81, 190, 16, 169, 255, 127, 3, 168, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 69, 191, 240, 171, 255, 127, 114, 171, 99, 144, 10, 64, 0, 0, 0, 0, 63, 102, 164, 64, 117, 210, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 137, 45, 233, 158, 255, 127, 114, 171, 106, 144, 10, 192, 0, 0, 0, 0, 63, 102, 164, 64, 185, 64, 240, 171, 255, 127, 114, 171, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 185, 64, 240, 171, 255, 127, 114, 171, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 64, 173, 65, 16, 169, 255, 127, 3, 168, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 77, 173, 122, 175, 255, 127, 190, 164, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 224, 173, 87, 179, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 64, 81, 190, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 173, 65, 16, 169, 255, 127, 3, 168, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 30, 82, 87, 179, 255, 127, 3, 168, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 30, 82, 87, 179, 255, 127, 3, 168, 54, 12, 183, 191, 0, 0, 0, 0, 54, 209, 213, 64, 177, 82, 122, 175, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 0, 117, 45, 195, 255, 127, 190, 164, 195, 169, 74, 181, 0, 0, 0, 0, 106, 51, 239, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 254, 138, 45, 195, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 54, 157, 183, 184, 255, 127, 190, 164, 250, 255, 159, 63, 0, 0, 0, 0, 242, 58, 221, 64, 77, 173, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 177, 82, 122, 175, 255, 127, 190, 164, 6, 0, 160, 191, 0, 0, 0, 0, 242, 58, 221, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 200, 98, 183, 184, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 0, 117, 45, 195, 255, 127, 190, 164, 4, 0, 32, 192, 0, 0, 0, 0, 122, 172, 106, 181, 227, 82, 203, 196, 255, 127, 0, 189, 244, 219, 21, 64, 0, 0, 0, 0, 97, 140, 132, 192, 84, 184, 104, 203, 255, 127, 140, 212, 250, 219, 21, 192, 0, 0, 0, 0, 97, 140, 132, 192, 41, 84, 180, 219, 255, 127, 140, 212, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 62, 198, 161, 173, 255, 127, 33, 175, 41, 12, 183, 63, 0, 0, 0, 0, 54, 209, 213, 64, 130, 121, 111, 226, 255, 127, 190, 164, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 64, 225, 90, 224, 189, 255, 127, 3, 168, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 123, 194, 170, 195, 255, 127, 251, 215, 42, 70, 226, 63, 0, 0, 0, 0, 7, 181, 197, 192, 92, 104, 44, 253, 255, 127, 251, 215, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 108, 59, 227, 194, 255, 127, 139, 212, 103, 53, 28, 64, 0, 0, 0, 0, 72, 36, 66, 64, 187, 197, 81, 185, 255, 127, 33, 175, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 24, 85, 114, 199, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 64, 206, 156, 194, 210, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 200, 163, 196, 254, 255, 127, 63, 219, 0, 51, 6, 64, 0, 0, 0, 0, 36, 11, 171, 192, 131, 199, 23, 202, 255, 127, 251, 215, 6, 51, 6, 192, 0, 0, 0, 0, 36, 11, 171, 192, 99, 61, 196, 197, 255, 127, 139, 212, 159, 151, 31, 64, 0, 0, 0, 0, 36, 35, 124, 191, 191, 213, 78, 166, 255, 127, 254, 194, 166, 151, 31, 192, 0, 0, 0, 0, 36, 35, 124, 63, 189, 50, 141, 169, 255, 127, 0, 189, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 173, 129, 213, 229, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 75, 179, 124, 192, 255, 127, 190, 164, 246, 164, 37, 191, 0, 0, 0, 0, 92, 161, 234, 192, 92, 169, 55, 247, 255, 127, 63, 219, 54, 70, 226, 191, 0, 0, 0, 0, 7, 181, 197, 192, 101, 66, 222, 205, 255, 127, 251, 215, 254, 219, 21, 192, 0, 0, 0, 0, 86, 140, 132, 64, 63, 65, 47, 176, 255, 127, 114, 171, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 27, 144, 127, 210, 255, 127, 190, 164, 221, 164, 37, 63, 0, 0, 0, 0, 92, 161, 234, 64, 189, 186, 144, 191, 255, 127, 190, 164)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_11324")
-[sub_resource type="SpatialMaterial" id=4]
-albedo_texture = ExtResource( 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_sgwkf"]
+albedo_texture = ExtResource("1")
-[node name="Mound" type="StaticBody"]
+[node name="Mound" type="StaticBody3D"]
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 3 )
+[node name="CollisionShape3d" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_3sfqa")
-[node name="Mesh" type="MeshInstance" parent="."]
-mesh = SubResource( 2 )
-material/0 = SubResource( 4 )
+[node name="Mesh" type="MeshInstance3D" parent="."]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_qya8c")
+skeleton = NodePath("")
+surface_material_override/0 = SubResource("StandardMaterial3D_sgwkf")
diff --git a/assets/meshes/plate/plate.glb.import b/assets/meshes/plate/plate.glb.import
index 5c34fd70..f003913a 100644
--- a/assets/meshes/plate/plate.glb.import
+++ b/assets/meshes/plate/plate.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/plate.glb-5c0f61a8d372703912fa5be77129451d.scn"
+uid="uid://cegpwqy2053ct"
+path="res://.godot/imported/plate.glb-5c0f61a8d372703912fa5be77129451d.scn"
[deps]
source_file="res://assets/meshes/plate/plate.glb"
-dest_files=[ "res://.import/plate.glb-5c0f61a8d372703912fa5be77129451d.scn" ]
+dest_files=["res://.godot/imported/plate.glb-5c0f61a8d372703912fa5be77129451d.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/plate/surface_objects.tscn b/assets/meshes/plate/surface_objects.tscn
index 32cf8f3e..68b38c37 100644
--- a/assets/meshes/plate/surface_objects.tscn
+++ b/assets/meshes/plate/surface_objects.tscn
@@ -1,186 +1,183 @@
-[gd_scene load_steps=21 format=2]
-
-[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=1]
-[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/meshes/plate/plate.glb" type="PackedScene" id=3]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=4]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=5]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=6]
-[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" type="Script" id=7]
-[ext_resource path="res://assets/footsteps/grass_footstep.wav" type="AudioStream" id=8]
-[ext_resource path="res://assets/footsteps/puddle_footstep.wav" type="AudioStream" id=9]
-[ext_resource path="res://assets/footsteps/mud_footstep.wav" type="AudioStream" id=10]
-[ext_resource path="res://assets/footsteps/snow_footstep.wav" type="AudioStream" id=11]
-
-[sub_resource type="ConcavePolygonShape" id=1]
-data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 )
-
-[sub_resource type="Resource" id=6]
-script = ExtResource( 7 )
+[gd_scene load_steps=22 format=3 uid="uid://54qovguk25i5"]
+
+[ext_resource type="Texture2D" uid="uid://cqgdloakbawp" path="res://assets/wahooney.itch.io/white_grid.png" id="1"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/audio/surface_audio.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://cegpwqy2053ct" path="res://assets/meshes/plate/plate.glb" id="3"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="4"]
+[ext_resource type="AudioStream" uid="uid://dkladw5jiqfnb" path="res://assets/footsteps/puddle_footstep.wav" id="4_ql6qg"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="5"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="6"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" id="7"]
+[ext_resource type="AudioStream" uid="uid://bu3r7384vd488" path="res://assets/footsteps/mud_footstep.wav" id="7_f6aya"]
+[ext_resource type="AudioStream" uid="uid://dl3u65cveimdq" path="res://assets/footsteps/grass_footstep.wav" id="9_4132b"]
+[ext_resource type="AudioStream" uid="uid://c7670m64eawbp" path="res://assets/footsteps/snow_footstep.wav" id="11_u808p"]
+
+[sub_resource type="ConcavePolygonShape3D" id="1"]
+data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1)
+
+[sub_resource type="Resource" id="Resource_rpp4f"]
+script = ExtResource("7")
name = "Puddle"
-jump_sound = ExtResource( 9 )
-hit_sound = ExtResource( 9 )
-walk_sounds = [ ExtResource( 9 ), ExtResource( 9 ) ]
+jump_sound = ExtResource("4_ql6qg")
+hit_sound = ExtResource("4_ql6qg")
+walk_sounds = Array[AudioStream]([ExtResource("4_ql6qg"), ExtResource("4_ql6qg")])
walk_pitch_minimum = 0.8
walk_pitch_maximum = 1.2
-[sub_resource type="ConcavePolygonShape" id=2]
-data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 )
+[sub_resource type="ConcavePolygonShape3D" id="2"]
+data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1)
-[sub_resource type="Resource" id=8]
-script = ExtResource( 7 )
+[sub_resource type="Resource" id="Resource_rwibv"]
+script = ExtResource("7")
name = "Mud"
-jump_sound = ExtResource( 10 )
-hit_sound = ExtResource( 10 )
-walk_sounds = [ ExtResource( 10 ), ExtResource( 10 ) ]
+jump_sound = ExtResource("7_f6aya")
+hit_sound = ExtResource("7_f6aya")
+walk_sounds = Array[AudioStream]([ExtResource("7_f6aya"), ExtResource("7_f6aya")])
walk_pitch_minimum = 0.8
walk_pitch_maximum = 1.2
-[sub_resource type="ConcavePolygonShape" id=3]
-data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 )
+[sub_resource type="ConcavePolygonShape3D" id="3"]
+data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1)
-[sub_resource type="Resource" id=7]
-script = ExtResource( 7 )
+[sub_resource type="Resource" id="Resource_53y85"]
+script = ExtResource("7")
name = "Grass"
-hit_sound = ExtResource( 8 )
-walk_sounds = [ ExtResource( 8 ), ExtResource( 8 ) ]
+hit_sound = ExtResource("9_4132b")
+walk_sounds = Array[AudioStream]([ExtResource("9_4132b"), ExtResource("9_4132b")])
walk_pitch_minimum = 0.8
walk_pitch_maximum = 1.2
-[sub_resource type="SpatialMaterial" id=4]
-albedo_texture = ExtResource( 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t8uhq"]
+albedo_texture = ExtResource("1")
-[sub_resource type="ConcavePolygonShape" id=5]
-data = PoolVector3Array( -1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1 )
+[sub_resource type="ConcavePolygonShape3D" id="5"]
+data = PackedVector3Array(-1, 0.0121, 1, 1, 0.0121, -1, 1, 0.0121, 1, -1, 0.0121, 1, -1, 0.0121, -1, 1, 0.0121, -1, 1, 0, 1, 1, 0.0121, -1, 1, 0, -1, 1, 0, 1, 1, 0.0121, 1, 1, 0.0121, -1, -1, 0, -1, -1, 0.0121, 1, -1, 0, 1, -1, 0, -1, -1, 0.0121, -1, -1, 0.0121, 1, 1, 0, -1, -1, 0.0121, -1, -1, 0, -1, 1, 0, -1, 1, 0.0121, -1, -1, 0.0121, -1, -1, 0, 1, 1, 0.0121, 1, 1, 0, 1, -1, 0, 1, -1, 0.0121, 1, 1, 0.0121, 1)
-[sub_resource type="Resource" id=9]
-script = ExtResource( 7 )
+[sub_resource type="Resource" id="Resource_58enk"]
+script = ExtResource("7")
name = "Snow"
-hit_sound = ExtResource( 11 )
-walk_sounds = [ ExtResource( 11 ), ExtResource( 11 ) ]
+hit_sound = ExtResource("11_u808p")
+walk_sounds = Array[AudioStream]([ExtResource("11_u808p"), ExtResource("11_u808p")])
walk_pitch_minimum = 0.8
walk_pitch_maximum = 1.2
-[node name="surface_objects" type="Spatial"]
-transform = Transform( 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qcyph"]
+albedo_texture = ExtResource("1")
-[node name="plate_puddle_s" parent="." instance=ExtResource( 3 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -7 )
+[node name="surface_objects" type="Node3D"]
+transform = Transform3D(1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0)
+
+[node name="plate_puddle_s" parent="." instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -7)
[node name="Plane" parent="plate_puddle_s" index="0"]
-material/0 = ExtResource( 6 )
+material_override = ExtResource("6")
-[node name="StaticBody" type="StaticBody" parent="plate_puddle_s/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_puddle_s/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_puddle_s/Plane/StaticBody"]
-shape = SubResource( 1 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_puddle_s/Plane/StaticBody"]
+shape = SubResource("1")
-[node name="SurfaceAudio" parent="plate_puddle_s/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 6 )
+[node name="SurfaceAudio" parent="plate_puddle_s/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_rpp4f")
-[node name="plate_mud_s" parent="." instance=ExtResource( 3 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -5 )
+[node name="plate_mud_s" parent="." instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -5)
[node name="Plane" parent="plate_mud_s" index="0"]
-material/0 = ExtResource( 4 )
+material_override = ExtResource("4")
-[node name="StaticBody" type="StaticBody" parent="plate_mud_s/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_mud_s/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_mud_s/Plane/StaticBody"]
-shape = SubResource( 2 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_mud_s/Plane/StaticBody"]
+shape = SubResource("2")
-[node name="SurfaceAudio" parent="plate_mud_s/Plane/StaticBody" instance=ExtResource( 2 )]
-__meta__ = {
-"_editor_description_": ""
-}
-surface_audio_type = SubResource( 8 )
+[node name="SurfaceAudio" parent="plate_mud_s/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_rwibv")
-[node name="plate_grass_s" parent="." instance=ExtResource( 3 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -5 )
+[node name="plate_grass_s" parent="." instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -5)
[node name="Plane" parent="plate_grass_s" index="0"]
-material/0 = ExtResource( 5 )
+material_override = ExtResource("5")
-[node name="StaticBody" type="StaticBody" parent="plate_grass_s/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_grass_s/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_grass_s/Plane/StaticBody"]
-shape = SubResource( 3 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_grass_s/Plane/StaticBody"]
+shape = SubResource("3")
-[node name="SurfaceAudio" parent="plate_grass_s/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 7 )
+[node name="SurfaceAudio" parent="plate_grass_s/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_53y85")
-[node name="plate_snow_s" parent="." instance=ExtResource( 3 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -7 )
+[node name="plate_snow_s" parent="." instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -7)
[node name="Plane" parent="plate_snow_s" index="0"]
-material/0 = SubResource( 4 )
+material_override = SubResource("StandardMaterial3D_t8uhq")
-[node name="StaticBody" type="StaticBody" parent="plate_snow_s/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_snow_s/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_snow_s/Plane/StaticBody"]
-shape = SubResource( 5 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_snow_s/Plane/StaticBody"]
+shape = SubResource("5")
-[node name="SurfaceAudio" parent="plate_snow_s/Plane/StaticBody" instance=ExtResource( 2 )]
-__meta__ = {
-"_editor_description_": ""
-}
-surface_audio_type = SubResource( 9 )
+[node name="SurfaceAudio" parent="plate_snow_s/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_58enk")
-[node name="plate_puddle" parent="." instance=ExtResource( 3 )]
-transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, -12 )
+[node name="plate_puddle" parent="." instance=ExtResource("3")]
+transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, -12)
[node name="Plane" parent="plate_puddle" index="0"]
-material/0 = ExtResource( 6 )
+material_override = ExtResource("6")
-[node name="StaticBody" type="StaticBody" parent="plate_puddle/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_puddle/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_puddle/Plane/StaticBody"]
-shape = SubResource( 1 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_puddle/Plane/StaticBody"]
+shape = SubResource("1")
-[node name="SurfaceAudio" parent="plate_puddle/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 6 )
+[node name="SurfaceAudio" parent="plate_puddle/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_rpp4f")
-[node name="plate_mud" parent="." instance=ExtResource( 3 )]
-transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, 0 )
+[node name="plate_mud" parent="." instance=ExtResource("3")]
+transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, 0)
[node name="Plane" parent="plate_mud" index="0"]
-material/0 = ExtResource( 4 )
+material_override = ExtResource("4")
-[node name="StaticBody" type="StaticBody" parent="plate_mud/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_mud/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_mud/Plane/StaticBody"]
-shape = SubResource( 2 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_mud/Plane/StaticBody"]
+shape = SubResource("2")
-[node name="SurfaceAudio" parent="plate_mud/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 8 )
+[node name="SurfaceAudio" parent="plate_mud/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_rwibv")
-[node name="plate_grass" parent="." instance=ExtResource( 3 )]
-transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, 1 )
+[node name="plate_grass" parent="." instance=ExtResource("3")]
+transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, -7, 0, 1)
[node name="Plane" parent="plate_grass" index="0"]
-material/0 = ExtResource( 5 )
+material_override = ExtResource("5")
-[node name="StaticBody" type="StaticBody" parent="plate_grass/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_grass/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_grass/Plane/StaticBody"]
-shape = SubResource( 3 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_grass/Plane/StaticBody"]
+shape = SubResource("3")
-[node name="SurfaceAudio" parent="plate_grass/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 7 )
+[node name="SurfaceAudio" parent="plate_grass/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_53y85")
-[node name="plate_snow" parent="." instance=ExtResource( 3 )]
-transform = Transform( 4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, -12 )
+[node name="plate_snow" parent="." instance=ExtResource("3")]
+transform = Transform3D(4, 0, 0, 0, 1, 0, 0, 0, 4, 7, 0, -12)
[node name="Plane" parent="plate_snow" index="0"]
-material/0 = SubResource( 4 )
+material_override = SubResource("StandardMaterial3D_qcyph")
-[node name="StaticBody" type="StaticBody" parent="plate_snow/Plane" index="0"]
+[node name="StaticBody" type="StaticBody3D" parent="plate_snow/Plane" index="0"]
-[node name="CollisionShape" type="CollisionShape" parent="plate_snow/Plane/StaticBody"]
-shape = SubResource( 5 )
+[node name="CollisionShape" type="CollisionShape3D" parent="plate_snow/Plane/StaticBody"]
+shape = SubResource("5")
-[node name="SurfaceAudio" parent="plate_snow/Plane/StaticBody" instance=ExtResource( 2 )]
-surface_audio_type = SubResource( 9 )
+[node name="SurfaceAudio" parent="plate_snow/Plane/StaticBody" instance=ExtResource("2")]
+surface_audio_type = SubResource("Resource_58enk")
[editable path="plate_puddle_s"]
[editable path="plate_mud_s"]
diff --git a/assets/meshes/ramps/ramp_material.tres b/assets/meshes/ramps/ramp_material.tres
index ce46c341..3329e504 100644
--- a/assets/meshes/ramps/ramp_material.tres
+++ b/assets/meshes/ramps/ramp_material.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1]
+[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture2D" id=1]
[resource]
albedo_texture = ExtResource( 1 )
diff --git a/assets/meshes/ramps/ramps.glb.import b/assets/meshes/ramps/ramps.glb.import
index 89e515cd..a6b55c9c 100644
--- a/assets/meshes/ramps/ramps.glb.import
+++ b/assets/meshes/ramps/ramps.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn"
+uid="uid://dircx2nhwvxbw"
+path="res://.godot/imported/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn"
[deps]
source_file="res://assets/meshes/ramps/ramps.glb"
-dest_files=[ "res://.import/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn" ]
+dest_files=["res://.godot/imported/ramps.glb-35d8d4114d191f444c0ffb44cafb1071.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/ramps/ramps.tscn b/assets/meshes/ramps/ramps.tscn
index 68289c45..fb9ae7ee 100644
--- a/assets/meshes/ramps/ramps.tscn
+++ b/assets/meshes/ramps/ramps.tscn
@@ -1,89 +1,107 @@
-[gd_scene load_steps=14 format=2]
+[gd_scene load_steps=16 format=3 uid="uid://bdc23valbh8gf"]
-[ext_resource path="res://assets/meshes/ramps/ramp_material.tres" type="Material" id=1]
+[ext_resource type="Material" path="res://assets/meshes/ramps/ramp_material.tres" id="1_cws0o"]
-[sub_resource type="ConvexPolygonShape" id=13]
-points = PoolVector3Array( 1, 0, 4.73205, -1, 0, 4.73205, 1, 0, -4.73205, 1, 1, 0.999586, -1, 1, 0.999586, -1, 0, -4.73205, 1, 1, -1.00051, -1, 1, -1.00051 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_wwvny"]
+points = PackedVector3Array(1, 0, 4.73205, -1, 0, 4.73205, 1, 0, -4.73205, 1, 1, 0.999586, -1, 1, 0.999586, -1, 0, -4.73205, 1, 1, -1.00051, -1, 1, -1.00051)
-[sub_resource type="ConvexPolygonShape" id=14]
-points = PoolVector3Array( 2, 0, 2.73205, 1, 0, 2.73205, 2, 0, -2.73205, 2, 1, 0.999648, 1, 1, 0.999648, 1, 0, -2.73205, 2, 1, -1.00018, 1, 1, -1.00018 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_khir2"]
+points = PackedVector3Array(2, 0, 2.73205, 1, 0, 2.73205, 2, 0, -2.73205, 2, 1, 0.999648, 1, 1, 0.999648, 1, 0, -2.73205, 2, 1, -1.00018, 1, 1, -1.00018)
-[sub_resource type="ConvexPolygonShape" id=15]
-points = PoolVector3Array( 3, 0, 2, 2, 0, 2, 3, 0, -2, 3, 1, 1, 2, 1, 1, 2, 0, -2, 3, 1, -1, 2, 1, -1 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_4av0f"]
+points = PackedVector3Array(3, 0, 2, 2, 0, 2, 3, 0, -2, 3, 1, 1, 2, 1, 1, 2, 0, -2, 3, 1, -1, 2, 1, -1)
-[sub_resource type="ConvexPolygonShape" id=16]
-points = PoolVector3Array( 4, 0, 1.57704, 3, 0, 1.57704, 4, 0, -1.57735, 4, 1, 0.999894, 3, 1, 0.999894, 3, 0, -1.57735, 4, 1, -1.0002, 3, 1, -1.0002 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_6x42p"]
+points = PackedVector3Array(4, 0, 1.57704, 3, 0, 1.57704, 4, 0, -1.57735, 4, 1, 0.999894, 3, 1, 0.999894, 3, 0, -1.57735, 4, 1, -1.0002, 3, 1, -1.0002)
-[sub_resource type="ConvexPolygonShape" id=17]
-points = PoolVector3Array( 5, 0, 1.26795, 4, 0, 1.26795, 5, 0, -1.26795, 5, 1, 0.999864, 4, 1, 0.999864, 4, 0, -1.26795, 5, 1, -1.00011, 4, 1, -1.00011 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_my4gr"]
+points = PackedVector3Array(5, 0, 1.26795, 4, 0, 1.26795, 5, 0, -1.26795, 5, 1, 0.999864, 4, 1, 0.999864, 4, 0, -1.26795, 5, 1, -1.00011, 4, 1, -1.00011)
-[sub_resource type="ConvexPolygonShape" id=18]
-points = PoolVector3Array( 6, 1, 1, 6, 0, 1, 6, 1, -1, 5, 1, 1, 5, 0, 1, 6, 0, -1, 5, 1, -1, 5, 0, -1 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_n618o"]
+points = PackedVector3Array(6, 1, 1, 6, 0, 1, 6, 1, -1, 5, 1, 1, 5, 0, 1, 6, 0, -1, 5, 1, -1, 5, 0, -1)
-[sub_resource type="ConvexPolygonShape" id=19]
-points = PoolVector3Array( -1, 0, 2.73205, -2, 0, 2.73205, -1, 0, -2.73205, -1, 1, 0.999648, -2, 1, 0.999648, -2, 0, -2.73205, -1, 1, -1.00018, -2, 1, -1.00018 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_n6xly"]
+points = PackedVector3Array(-1, 0, 2.73205, -2, 0, 2.73205, -1, 0, -2.73205, -1, 1, 0.999648, -2, 1, 0.999648, -2, 0, -2.73205, -1, 1, -1.00018, -2, 1, -1.00018)
-[sub_resource type="ConvexPolygonShape" id=20]
-points = PoolVector3Array( -2, 0, 2, -3, 0, 2, -2, 0, -2, -2, 1, 1, -3, 1, 1, -3, 0, -2, -2, 1, -1, -3, 1, -1 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_ilcnw"]
+points = PackedVector3Array(-2, 0, 2, -3, 0, 2, -2, 0, -2, -2, 1, 1, -3, 1, 1, -3, 0, -2, -2, 1, -1, -3, 1, -1)
-[sub_resource type="ConvexPolygonShape" id=21]
-points = PoolVector3Array( -3, 0, 1.57704, -4, 0, 1.57704, -3, 0, -1.57735, -3, 1, 0.999894, -4, 1, 0.999894, -4, 0, -1.57735, -3, 1, -1.0002, -4, 1, -1.0002 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_lutba"]
+points = PackedVector3Array(-3, 0, 1.57704, -4, 0, 1.57704, -3, 0, -1.57735, -3, 1, 0.999894, -4, 1, 0.999894, -4, 0, -1.57735, -3, 1, -1.0002, -4, 1, -1.0002)
-[sub_resource type="ConvexPolygonShape" id=22]
-points = PoolVector3Array( -4, 0, 1.26795, -5, 0, 1.26795, -4, 0, -1.26795, -4, 1, 0.999864, -5, 1, 0.999864, -5, 0, -1.26795, -4, 1, -1.00011, -5, 1, -1.00011 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_khl2d"]
+points = PackedVector3Array(-4, 0, 1.26795, -5, 0, 1.26795, -4, 0, -1.26795, -4, 1, 0.999864, -5, 1, 0.999864, -5, 0, -1.26795, -4, 1, -1.00011, -5, 1, -1.00011)
-[sub_resource type="ConvexPolygonShape" id=23]
-points = PoolVector3Array( -5, 1, 1, -5, 0, 1, -5, 1, -1, -6, 1, 1, -6, 0, 1, -5, 0, -1, -6, 1, -1, -6, 0, -1 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_l6v62"]
+points = PackedVector3Array(-5, 1, 1, -5, 0, 1, -5, 1, -1, -6, 1, 1, -6, 0, 1, -5, 0, -1, -6, 1, -1, -6, 0, -1)
-[sub_resource type="ArrayMesh" id=12]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ncpkq"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_us6x5"]
+_surfaces = [{
+"aabb": AABB(-6, 0, -4.73205, 12, 1, 9.4641),
+"format": 4097,
+"index_count": 270,
+"index_data": PackedByteArray(45, 0, 44, 0, 43, 0, 45, 0, 46, 0, 44, 0, 10, 0, 7, 0, 11, 0, 10, 0, 6, 0, 7, 0, 7, 0, 6, 0, 17, 0, 17, 0, 22, 0, 7, 0, 17, 0, 14, 0, 22, 0, 22, 0, 14, 0, 21, 0, 21, 0, 29, 0, 22, 0, 21, 0, 19, 0, 29, 0, 29, 0, 19, 0, 28, 0, 28, 0, 25, 0, 29, 0, 28, 0, 24, 0, 25, 0, 34, 0, 25, 0, 24, 0, 34, 0, 40, 0, 25, 0, 34, 0, 32, 0, 40, 0, 39, 0, 40, 0, 32, 0, 40, 0, 36, 0, 37, 0, 40, 0, 39, 0, 36, 0, 3, 0, 37, 0, 36, 0, 3, 0, 66, 0, 37, 0, 3, 0, 0, 0, 66, 0, 65, 0, 66, 0, 0, 0, 66, 0, 62, 0, 63, 0, 66, 0, 65, 0, 62, 0, 63, 0, 56, 0, 54, 0, 63, 0, 59, 0, 56, 0, 62, 0, 59, 0, 63, 0, 54, 0, 56, 0, 53, 0, 12, 0, 11, 0, 13, 0, 12, 0, 10, 0, 11, 0, 48, 0, 51, 0, 52, 0, 55, 0, 57, 0, 58, 0, 60, 0, 64, 0, 61, 0, 1, 0, 2, 0, 67, 0, 4, 0, 38, 0, 5, 0, 41, 0, 33, 0, 42, 0, 26, 0, 27, 0, 35, 0, 30, 0, 20, 0, 31, 0, 15, 0, 16, 0, 23, 0, 8, 0, 9, 0, 18, 0, 8, 0, 13, 0, 9, 0, 8, 0, 12, 0, 13, 0, 16, 0, 18, 0, 9, 0, 16, 0, 15, 0, 18, 0, 23, 0, 31, 0, 20, 0, 23, 0, 16, 0, 31, 0, 26, 0, 31, 0, 27, 0, 26, 0, 30, 0, 31, 0, 35, 0, 42, 0, 33, 0, 35, 0, 27, 0, 42, 0, 41, 0, 5, 0, 38, 0, 41, 0, 42, 0, 5, 0, 1, 0, 5, 0, 2, 0, 1, 0, 4, 0, 5, 0, 61, 0, 67, 0, 2, 0, 61, 0, 64, 0, 67, 0, 57, 0, 61, 0, 58, 0, 57, 0, 60, 0, 61, 0, 51, 0, 58, 0, 52, 0, 51, 0, 55, 0, 58, 0, 48, 0, 46, 0, 45, 0, 48, 0, 52, 0, 46, 0, 9, 0, 31, 0, 16, 0, 27, 0, 5, 0, 42, 0, 13, 0, 31, 0, 9, 0, 27, 0, 2, 0, 5, 0, 11, 0, 31, 0, 13, 0, 27, 0, 61, 0, 2, 0, 11, 0, 27, 0, 31, 0, 29, 0, 7, 0, 22, 0, 7, 0, 27, 0, 11, 0, 61, 0, 52, 0, 58, 0, 7, 0, 61, 0, 27, 0, 40, 0, 29, 0, 25, 0, 29, 0, 61, 0, 7, 0, 52, 0, 44, 0, 46, 0, 29, 0, 52, 0, 61, 0, 66, 0, 40, 0, 37, 0, 40, 0, 52, 0, 29, 0, 52, 0, 50, 0, 44, 0, 54, 0, 66, 0, 63, 0, 52, 0, 54, 0, 50, 0, 66, 0, 52, 0, 40, 0, 52, 0, 66, 0, 54, 0, 53, 0, 50, 0, 54, 0, 53, 0, 49, 0, 50, 0, 43, 0, 50, 0, 47, 0, 43, 0, 44, 0, 50, 0, 49, 0, 47, 0, 50, 0),
+"primitive": 3,
+"vertex_count": 68,
+"vertex_data": PackedByteArray(0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_gxstm"]
resource_name = "ramps_Cube017"
-surfaces/0 = {
-"aabb": AABB( -6, 0, -4.73205, 12, 1, 9.4641 ),
-"array_data": PoolByteArray( 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 129, 0, 0, 63, 118, 63, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 193, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 129, 0, 0, 63, 237, 186, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 80, 1, 255, 63, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 255, 193, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 129, 0, 0, 63, 118, 63, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 126, 255, 187, 255, 192, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 129, 0, 0, 63, 237, 186, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 80, 1, 255, 63, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 26, 127, 100, 1, 0, 60, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 255, 192, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 126, 255, 183, 255, 55, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 230, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 255, 61, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 0, 56, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 126, 0, 184, 255, 59, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 56, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 126, 0, 0, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 255, 61, 0, 60, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 127, 0, 126, 127, 255, 59, 0, 56, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 0, 60, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 126, 127, 255, 59, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 127, 36, 184, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 127, 0, 127, 127, 73, 176, 0, 56, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 127, 0, 127, 127, 137, 60, 0, 56, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 230, 126, 36, 184, 255, 55, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 127, 0, 127, 127, 73, 176, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 0, 56, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 127, 0, 127, 127, 137, 60, 0, 56, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 126, 158, 184, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 127, 0, 127, 127, 158, 180, 0, 56, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 127, 0, 127, 127, 39, 61, 0, 56, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 127, 158, 184, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 127, 0, 127, 127, 158, 180, 0, 56, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 230, 126, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 127, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 0, 0, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 127, 0, 127, 127, 39, 61, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 63, 127, 168, 185, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 127, 0, 127, 127, 255, 183, 0, 56, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 127, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 127, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 63, 0, 0, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 127, 127, 255, 61, 0, 56, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 255, 187, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 63, 127, 168, 185, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 127, 0, 127, 127, 255, 183, 0, 56, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 127, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 126, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 129, 126, 0, 0, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 183, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 127, 127, 255, 61, 0, 56, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 126, 0, 60, 255, 183, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 127, 0, 127, 127, 237, 186, 0, 56, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 176, 1, 0, 64, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 127, 0, 127, 127, 118, 63, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 0, 80, 80, 127, 255, 187, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 127, 0, 127, 127, 237, 186, 0, 56, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 46, 127, 176, 1, 255, 63, 255, 187, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 127, 0, 127, 127, 118, 63, 0, 56, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 129, 0, 0, 63, 187, 65, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 100, 156, 126, 186, 191, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 126, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 100, 156, 126, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 255, 192, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 129, 0, 0, 63, 118, 191, 255, 55, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 26, 127, 100, 1, 221, 65, 255, 192, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 0, 100, 156, 126, 186, 191, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 127, 0, 127, 127, 118, 191, 0, 56, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 127, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 100, 156, 126, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 127, 0, 127, 127, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 26, 127, 100, 1, 221, 65, 255, 189, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 127, 0, 127, 127, 187, 65, 0, 56, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 46, 127, 176, 1, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 26, 127, 100, 1, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 63, 0, 60, 255, 189, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 127, 0, 127, 127, 255, 59, 0, 0, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 255, 55, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 127, 255, 183, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 0, 60, 0, 0, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 127, 0, 0, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 196, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 255, 55, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 0, 62, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 255, 196, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 255, 196, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 127, 255, 183, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 127, 127, 0, 1, 0, 62, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 129, 0, 0, 63, 137, 60, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 127, 36, 184, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 127, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 26, 126, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 127, 196, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 129, 0, 0, 63, 73, 176, 255, 55, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 127, 127, 0, 1, 0, 60, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 127, 196, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 127, 0, 60, 127, 196, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 129, 0, 0, 63, 137, 60, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 26, 26, 126, 36, 184, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 26, 26, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 129, 0, 0, 63, 73, 176, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 100, 127, 230, 1, 18, 62, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 129, 0, 0, 63, 39, 61, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 126, 158, 184, 255, 195, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 129, 0, 0, 63, 158, 180, 255, 55, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 210, 1, 79, 62, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 100, 127, 230, 1, 0, 60, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 195, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 127, 63, 0, 60, 255, 195, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 129, 0, 0, 63, 39, 61, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 46, 46, 127, 158, 184, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 129, 0, 0, 63, 158, 180, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 80, 127, 46, 1, 79, 62, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 129, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 80, 127, 210, 1, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 63, 127, 193, 1, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 129, 126, 0, 60, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 129, 0, 0, 63, 255, 61, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 193, 126, 168, 185, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 46, 46, 126, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 63, 127, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 63, 0, 0, 255, 194, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 129, 0, 0, 63, 255, 183, 255, 55, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 63, 1, 212, 62, 255, 194, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 129, 0, 0, 63, 255, 61, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 63, 193, 126, 168, 185, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 129, 0, 0, 63, 255, 59, 0, 0, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 63, 193, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 80, 80, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 127, 126, 0, 0, 255, 193, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 129, 0, 0, 63, 255, 183, 255, 55, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 63, 127, 193, 1, 212, 62, 255, 193 ),
-"array_index_data": PoolByteArray( 119, 0, 116, 0, 114, 0, 119, 0, 121, 0, 116, 0, 28, 0, 18, 0, 30, 0, 28, 0, 16, 0, 18, 0, 21, 0, 17, 0, 47, 0, 46, 0, 56, 0, 19, 0, 46, 0, 38, 0, 56, 0, 59, 0, 39, 0, 55, 0, 54, 0, 76, 0, 57, 0, 54, 0, 50, 0, 76, 0, 79, 0, 51, 0, 75, 0, 74, 0, 64, 0, 77, 0, 74, 0, 62, 0, 64, 0, 91, 0, 67, 0, 63, 0, 90, 0, 104, 0, 65, 0, 90, 0, 86, 0, 104, 0, 103, 0, 107, 0, 87, 0, 105, 0, 95, 0, 98, 0, 105, 0, 102, 0, 95, 0, 8, 0, 96, 0, 94, 0, 9, 0, 176, 0, 97, 0, 9, 0, 1, 0, 176, 0, 172, 0, 174, 0, 0, 0, 175, 0, 165, 0, 168, 0, 175, 0, 173, 0, 165, 0, 167, 0, 149, 0, 144, 0, 167, 0, 157, 0, 149, 0, 164, 0, 156, 0, 166, 0, 142, 0, 148, 0, 140, 0, 34, 0, 32, 0, 37, 0, 34, 0, 29, 0, 32, 0, 126, 0, 134, 0, 136, 0, 146, 0, 150, 0, 152, 0, 158, 0, 170, 0, 160, 0, 2, 0, 4, 0, 178, 0, 10, 0, 100, 0, 12, 0, 109, 0, 89, 0, 113, 0, 69, 0, 73, 0, 93, 0, 81, 0, 53, 0, 85, 0, 41, 0, 45, 0, 61, 0, 23, 0, 27, 0, 49, 0, 22, 0, 35, 0, 24, 0, 22, 0, 33, 0, 35, 0, 42, 0, 48, 0, 25, 0, 42, 0, 40, 0, 48, 0, 60, 0, 82, 0, 52, 0, 60, 0, 43, 0, 82, 0, 68, 0, 83, 0, 70, 0, 68, 0, 80, 0, 83, 0, 92, 0, 110, 0, 88, 0, 92, 0, 71, 0, 110, 0, 108, 0, 14, 0, 101, 0, 108, 0, 111, 0, 14, 0, 3, 0, 13, 0, 6, 0, 3, 0, 11, 0, 13, 0, 162, 0, 179, 0, 5, 0, 162, 0, 171, 0, 179, 0, 151, 0, 161, 0, 154, 0, 151, 0, 159, 0, 161, 0, 135, 0, 153, 0, 138, 0, 135, 0, 147, 0, 153, 0, 127, 0, 122, 0, 120, 0, 127, 0, 137, 0, 122, 0, 26, 0, 84, 0, 44, 0, 72, 0, 15, 0, 112, 0, 36, 0, 84, 0, 26, 0, 72, 0, 7, 0, 15, 0, 31, 0, 84, 0, 36, 0, 72, 0, 163, 0, 7, 0, 31, 0, 72, 0, 84, 0, 78, 0, 20, 0, 58, 0, 20, 0, 72, 0, 31, 0, 163, 0, 139, 0, 155, 0, 20, 0, 163, 0, 72, 0, 106, 0, 78, 0, 66, 0, 78, 0, 163, 0, 20, 0, 139, 0, 118, 0, 123, 0, 78, 0, 139, 0, 163, 0, 177, 0, 106, 0, 99, 0, 106, 0, 139, 0, 78, 0, 139, 0, 133, 0, 118, 0, 145, 0, 177, 0, 169, 0, 139, 0, 145, 0, 133, 0, 177, 0, 139, 0, 106, 0, 139, 0, 177, 0, 145, 0, 141, 0, 132, 0, 143, 0, 141, 0, 129, 0, 132, 0, 115, 0, 131, 0, 125, 0, 115, 0, 117, 0, 131, 0, 128, 0, 124, 0, 130, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-6, 0, -4.73205, 12, 1, 9.4641),
+"attribute_data": PackedByteArray(190, 217, 238, 63, 208, 255, 255, 62, 242, 255, 127, 191, 253, 255, 63, 192, 183, 179, 93, 191, 208, 255, 255, 62, 255, 255, 255, 63, 252, 255, 63, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 63, 192, 5, 0, 128, 63, 254, 255, 63, 192, 5, 0, 128, 63, 254, 255, 63, 192, 190, 217, 238, 63, 208, 255, 255, 62, 240, 255, 127, 191, 252, 255, 31, 192, 183, 179, 93, 191, 208, 255, 255, 62, 254, 255, 255, 63, 254, 255, 31, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 253, 255, 31, 192, 5, 0, 128, 63, 253, 255, 31, 192, 5, 0, 128, 63, 253, 255, 31, 192, 255, 255, 255, 190, 254, 255, 255, 62, 0, 0, 165, 52, 3, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 255, 255, 255, 50, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 51, 255, 255, 191, 63, 2, 0, 0, 63, 204, 255, 127, 63, 3, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 0, 0, 128, 63, 1, 0, 0, 63, 204, 255, 127, 63, 0, 0, 128, 51, 0, 0, 0, 191, 255, 255, 127, 63, 0, 0, 165, 52, 3, 0, 0, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 40, 51, 0, 0, 0, 0, 255, 255, 191, 63, 0, 0, 128, 63, 204, 255, 127, 63, 3, 0, 0, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 204, 255, 127, 63, 0, 0, 128, 51, 236, 131, 4, 191, 0, 0, 128, 51, 139, 48, 9, 190, 3, 0, 0, 63, 248, 65, 194, 63, 0, 0, 192, 52, 1, 38, 145, 63, 3, 0, 0, 63, 1, 0, 128, 63, 0, 0, 64, 52, 1, 0, 128, 63, 0, 0, 64, 52, 1, 0, 128, 63, 0, 0, 64, 52, 205, 255, 127, 63, 0, 0, 128, 51, 237, 131, 4, 191, 252, 255, 255, 62, 139, 48, 9, 190, 3, 0, 0, 63, 248, 65, 194, 63, 4, 0, 0, 63, 1, 38, 145, 63, 3, 0, 0, 63, 51, 205, 19, 191, 248, 255, 255, 190, 14, 205, 147, 190, 3, 0, 0, 63, 157, 230, 201, 63, 236, 255, 255, 190, 47, 243, 164, 63, 3, 0, 0, 63, 52, 205, 19, 191, 0, 0, 128, 51, 14, 205, 147, 190, 3, 0, 0, 63, 252, 255, 15, 52, 0, 0, 128, 51, 252, 255, 15, 52, 0, 0, 128, 51, 252, 255, 15, 52, 0, 0, 128, 51, 0, 0, 165, 52, 0, 0, 128, 51, 157, 230, 201, 63, 0, 0, 224, 52, 47, 243, 164, 63, 3, 0, 0, 63, 234, 4, 53, 191, 250, 255, 127, 191, 204, 255, 255, 190, 3, 0, 0, 63, 249, 255, 183, 52, 250, 255, 127, 191, 249, 255, 183, 52, 250, 255, 127, 191, 249, 255, 183, 52, 250, 255, 127, 191, 0, 0, 165, 52, 0, 0, 128, 51, 123, 130, 218, 63, 244, 255, 127, 191, 218, 255, 191, 63, 3, 0, 0, 63, 3, 0, 128, 63, 252, 255, 127, 191, 3, 0, 128, 63, 252, 255, 127, 191, 3, 0, 128, 63, 252, 255, 127, 191, 204, 255, 127, 63, 0, 0, 128, 51, 235, 4, 53, 191, 248, 255, 255, 190, 204, 255, 255, 190, 3, 0, 0, 63, 247, 255, 127, 52, 252, 255, 255, 190, 247, 255, 127, 52, 252, 255, 255, 190, 247, 255, 127, 52, 252, 255, 255, 190, 0, 0, 165, 52, 0, 0, 128, 51, 121, 130, 218, 63, 240, 255, 255, 190, 218, 255, 191, 63, 3, 0, 0, 63, 2, 0, 128, 63, 244, 255, 255, 190, 2, 0, 128, 63, 244, 255, 255, 190, 2, 0, 128, 63, 244, 255, 255, 190, 204, 255, 127, 63, 0, 0, 128, 51, 244, 255, 127, 191, 252, 255, 191, 191, 160, 179, 93, 191, 3, 0, 0, 63, 1, 0, 0, 64, 248, 255, 191, 191, 188, 217, 238, 63, 3, 0, 0, 63, 243, 255, 127, 191, 248, 255, 127, 191, 160, 179, 93, 191, 3, 0, 0, 63, 255, 255, 255, 63, 236, 255, 127, 191, 188, 217, 238, 63, 3, 0, 0, 63, 214, 108, 55, 64, 208, 255, 255, 62, 224, 70, 247, 191, 255, 255, 31, 192, 208, 255, 127, 63, 0, 0, 192, 180, 249, 255, 19, 53, 254, 255, 31, 192, 249, 255, 19, 53, 254, 255, 31, 192, 249, 255, 19, 53, 254, 255, 31, 192, 196, 217, 238, 191, 208, 255, 255, 62, 118, 163, 59, 64, 253, 255, 31, 192, 225, 70, 247, 191, 254, 255, 191, 191, 187, 217, 238, 191, 3, 0, 0, 63, 246, 255, 239, 52, 252, 255, 191, 191, 246, 255, 239, 52, 252, 255, 191, 191, 246, 255, 239, 52, 252, 255, 191, 191, 0, 0, 165, 52, 0, 0, 128, 51, 118, 163, 59, 64, 250, 255, 191, 191, 209, 108, 55, 64, 3, 0, 0, 63, 4, 0, 128, 63, 250, 255, 191, 191, 4, 0, 128, 63, 250, 255, 191, 191, 4, 0, 128, 63, 250, 255, 191, 191, 204, 255, 127, 63, 0, 0, 128, 51, 208, 255, 127, 63, 208, 255, 255, 62, 231, 255, 255, 190, 254, 255, 159, 192, 0, 0, 128, 63, 0, 0, 192, 180, 241, 255, 39, 53, 254, 255, 159, 192, 241, 255, 39, 53, 254, 255, 159, 192, 0, 128, 255, 180, 208, 255, 255, 62, 7, 0, 192, 63, 254, 255, 159, 192, 0, 0, 0, 0, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 159, 192, 5, 0, 128, 63, 254, 255, 159, 192, 208, 255, 127, 63, 208, 255, 255, 62, 232, 255, 255, 190, 254, 255, 143, 192, 0, 128, 255, 180, 208, 255, 255, 62, 6, 0, 192, 63, 254, 255, 143, 192, 253, 37, 145, 63, 208, 255, 255, 62, 230, 131, 4, 191, 254, 255, 143, 192, 208, 255, 127, 63, 0, 0, 192, 180, 243, 255, 31, 53, 254, 255, 143, 192, 243, 255, 31, 53, 254, 255, 143, 192, 243, 255, 31, 53, 254, 255, 143, 192, 214, 48, 9, 190, 208, 255, 255, 62, 253, 65, 194, 63, 254, 255, 143, 192, 0, 128, 255, 180, 0, 0, 0, 0, 5, 0, 128, 63, 255, 255, 143, 192, 5, 0, 128, 63, 255, 255, 143, 192, 5, 0, 128, 63, 255, 255, 143, 192, 253, 37, 145, 63, 208, 255, 255, 62, 230, 131, 4, 191, 252, 255, 127, 192, 208, 255, 127, 63, 0, 0, 192, 180, 244, 255, 31, 53, 254, 255, 127, 192, 244, 255, 31, 53, 254, 255, 127, 192, 244, 255, 31, 53, 254, 255, 127, 192, 214, 48, 9, 190, 208, 255, 255, 62, 253, 65, 194, 63, 252, 255, 127, 192, 47, 243, 164, 63, 208, 255, 255, 62, 42, 205, 19, 191, 252, 255, 127, 192, 53, 205, 147, 190, 208, 255, 255, 62, 161, 230, 201, 63, 252, 255, 127, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 254, 255, 127, 192, 5, 0, 128, 63, 254, 255, 127, 192, 5, 0, 128, 63, 254, 255, 127, 192, 47, 243, 164, 63, 208, 255, 255, 62, 41, 205, 19, 191, 254, 255, 95, 192, 53, 205, 147, 190, 208, 255, 255, 62, 161, 230, 201, 63, 252, 255, 95, 192, 0, 128, 255, 180, 0, 0, 192, 180, 5, 0, 128, 63, 252, 255, 95, 192, 5, 0, 128, 63, 252, 255, 95, 192, 5, 0, 128, 63, 252, 255, 95, 192, 221, 255, 191, 63, 208, 255, 255, 62, 227, 4, 53, 191, 254, 255, 95, 192, 208, 255, 127, 63, 0, 0, 192, 180, 247, 255, 27, 53, 254, 255, 95, 192, 247, 255, 27, 53, 254, 255, 95, 192, 247, 255, 27, 53, 254, 255, 95, 192, 231, 255, 255, 190, 208, 255, 255, 62, 123, 130, 218, 63, 252, 255, 95, 192, 221, 255, 191, 63, 208, 255, 255, 62, 227, 4, 53, 191, 254, 255, 63, 192, 208, 255, 127, 63, 0, 0, 192, 180, 248, 255, 23, 53, 253, 255, 63, 192, 248, 255, 23, 53, 253, 255, 63, 192, 248, 255, 23, 53, 253, 255, 63, 192, 231, 255, 255, 190, 208, 255, 255, 62, 122, 130, 218, 63, 253, 255, 63, 192),
+"format": 4119,
"index_count": 270,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 180
-}
+"index_data": PackedByteArray(119, 0, 116, 0, 114, 0, 119, 0, 121, 0, 116, 0, 28, 0, 18, 0, 30, 0, 28, 0, 16, 0, 18, 0, 21, 0, 17, 0, 47, 0, 46, 0, 56, 0, 19, 0, 46, 0, 38, 0, 56, 0, 59, 0, 39, 0, 55, 0, 54, 0, 76, 0, 57, 0, 54, 0, 50, 0, 76, 0, 79, 0, 51, 0, 75, 0, 74, 0, 64, 0, 77, 0, 74, 0, 62, 0, 64, 0, 91, 0, 67, 0, 63, 0, 90, 0, 104, 0, 65, 0, 90, 0, 86, 0, 104, 0, 103, 0, 107, 0, 87, 0, 105, 0, 95, 0, 98, 0, 105, 0, 102, 0, 95, 0, 8, 0, 96, 0, 94, 0, 9, 0, 176, 0, 97, 0, 9, 0, 1, 0, 176, 0, 172, 0, 174, 0, 0, 0, 175, 0, 165, 0, 168, 0, 175, 0, 173, 0, 165, 0, 167, 0, 149, 0, 144, 0, 167, 0, 157, 0, 149, 0, 164, 0, 156, 0, 166, 0, 142, 0, 148, 0, 140, 0, 34, 0, 32, 0, 37, 0, 34, 0, 29, 0, 32, 0, 126, 0, 134, 0, 136, 0, 146, 0, 150, 0, 152, 0, 158, 0, 170, 0, 160, 0, 2, 0, 4, 0, 178, 0, 10, 0, 100, 0, 12, 0, 109, 0, 89, 0, 113, 0, 69, 0, 73, 0, 93, 0, 81, 0, 53, 0, 85, 0, 41, 0, 45, 0, 61, 0, 23, 0, 27, 0, 49, 0, 22, 0, 35, 0, 24, 0, 22, 0, 33, 0, 35, 0, 42, 0, 48, 0, 25, 0, 42, 0, 40, 0, 48, 0, 60, 0, 82, 0, 52, 0, 60, 0, 43, 0, 82, 0, 68, 0, 83, 0, 70, 0, 68, 0, 80, 0, 83, 0, 92, 0, 110, 0, 88, 0, 92, 0, 71, 0, 110, 0, 108, 0, 14, 0, 101, 0, 108, 0, 111, 0, 14, 0, 3, 0, 13, 0, 6, 0, 3, 0, 11, 0, 13, 0, 162, 0, 179, 0, 5, 0, 162, 0, 171, 0, 179, 0, 151, 0, 161, 0, 154, 0, 151, 0, 159, 0, 161, 0, 135, 0, 153, 0, 138, 0, 135, 0, 147, 0, 153, 0, 127, 0, 122, 0, 120, 0, 127, 0, 137, 0, 122, 0, 26, 0, 84, 0, 44, 0, 72, 0, 15, 0, 112, 0, 36, 0, 84, 0, 26, 0, 72, 0, 7, 0, 15, 0, 31, 0, 84, 0, 36, 0, 72, 0, 163, 0, 7, 0, 31, 0, 72, 0, 84, 0, 78, 0, 20, 0, 58, 0, 20, 0, 72, 0, 31, 0, 163, 0, 139, 0, 155, 0, 20, 0, 163, 0, 72, 0, 106, 0, 78, 0, 66, 0, 78, 0, 163, 0, 20, 0, 139, 0, 118, 0, 123, 0, 78, 0, 139, 0, 163, 0, 177, 0, 106, 0, 99, 0, 106, 0, 139, 0, 78, 0, 139, 0, 133, 0, 118, 0, 145, 0, 177, 0, 169, 0, 139, 0, 145, 0, 133, 0, 177, 0, 139, 0, 106, 0, 139, 0, 177, 0, 145, 0, 141, 0, 132, 0, 143, 0, 141, 0, 129, 0, 132, 0, 115, 0, 131, 0, 125, 0, 115, 0, 117, 0, 131, 0, 128, 0, 124, 0, 130, 0),
+"material": SubResource("StandardMaterial3D_ncpkq"),
+"primitive": 3,
+"vertex_count": 180,
+"vertex_data": PackedByteArray(0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 37, 209, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 37, 209, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 242, 100, 254, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 160, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 192, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 64, 0, 0, 0, 0, 48, 76, 162, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 242, 100, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 64, 0, 0, 0, 0, 48, 76, 162, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 64, 0, 0, 0, 0, 155, 230, 201, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 242, 100, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 64, 0, 0, 0, 0, 155, 230, 201, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 64, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 232, 217, 46, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 0, 64, 0, 0, 0, 0, 232, 217, 46, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 64, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 254, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 191, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 0, 0, 244, 108, 151, 192, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 64, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 242, 228, 12, 27, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 0, 0, 244, 108, 151, 192, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 217, 174, 255, 255, 217, 46, 255, 127, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 12, 155, 255, 255, 242, 228, 255, 127, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 255, 191, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 127, 255, 255, 255, 255, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 192, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 255, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 127, 255, 127, 255, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 255, 255, 255, 255, 127, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 160, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 12, 155, 12, 155, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 255, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 48, 76, 162, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 242, 228, 255, 255, 242, 100, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 128, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 63, 255, 127, 217, 174, 217, 174, 255, 255, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 155, 230, 201, 191, 37, 209, 255, 255, 217, 174, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 37, 209, 255, 255, 37, 81, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 191, 255, 255, 255, 63, 255, 127, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 191, 255, 127, 255, 255, 0, 0, 254, 255, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 63, 255, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 217, 174, 217, 174, 254, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 191, 255, 255, 0, 0, 64, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 64, 192, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 191, 255, 127, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 64, 255, 127, 255, 191, 255, 63, 254, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 191, 255, 63, 255, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 37, 209, 37, 209, 254, 255, 0, 0, 0, 192, 0, 0, 128, 63, 0, 0, 128, 63, 255, 127, 255, 255, 255, 255, 254, 255, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 192, 255, 191, 255, 255, 255, 63, 255, 127)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_us6x5")
-[node name="Ramps" type="StaticBody"]
+[node name="Ramps" type="StaticBody3D"]
-[node name="MidRamp15CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 13 )
+[node name="MidRamp15CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_wwvny")
-[node name="RightRamp30CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 14 )
+[node name="RightRamp30CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_khir2")
-[node name="RightRamp45CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 15 )
+[node name="RightRamp45CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_4av0f")
-[node name="RightRamp60CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 16 )
+[node name="RightRamp60CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_6x42p")
-[node name="RightRamp75CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 17 )
+[node name="RightRamp75CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_my4gr")
-[node name="RightRamp90CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 18 )
+[node name="RightRamp90CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_n618o")
-[node name="LeftRamp30CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 19 )
+[node name="LeftRamp30CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_n6xly")
-[node name="LeftRamp45CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 20 )
+[node name="LeftRamp45CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_ilcnw")
-[node name="LeftRamp60CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 21 )
+[node name="LeftRamp60CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_lutba")
-[node name="LeftRamp75CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 22 )
+[node name="LeftRamp75CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_khl2d")
-[node name="LeftRamp90CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 23 )
+[node name="LeftRamp90CollisionShape" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_l6v62")
-[node name="Mesh" type="MeshInstance" parent="."]
-mesh = SubResource( 12 )
-material/0 = ExtResource( 1 )
+[node name="Mesh" type="MeshInstance3D" parent="."]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_gxstm")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("1_cws0o")
diff --git a/assets/meshes/table/table.tscn b/assets/meshes/table/table.tscn
index 3f4a3570..03cba253 100644
--- a/assets/meshes/table/table.tscn
+++ b/assets/meshes/table/table.tscn
@@ -1,63 +1,63 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://cbcbffvk7xth4"]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=1]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="1"]
-[sub_resource type="CubeMesh" id=1]
-size = Vector3( 0.05, 0.8, 0.05 )
+[sub_resource type="BoxMesh" id="1"]
+size = Vector3(0.05, 0.8, 0.05)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 1.6, 0.05, 0.8 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(1.6, 0.05, 0.8)
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.025, 0.4, 0.025 )
+[sub_resource type="BoxShape3D" id="3"]
+size = Vector3(0.05, 0.8, 0.05)
-[sub_resource type="BoxShape" id=4]
+[sub_resource type="BoxShape3D" id="4"]
margin = 0.01
-extents = Vector3( 0.8, 0.025, 0.4 )
-
-[node name="Table" type="StaticBody"]
-
-[node name="LegMesh1" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 1 )
-
-[node name="LegMesh2" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 1 )
-
-[node name="LegMesh3" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 1 )
-
-[node name="LegMesh4" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 1 )
-
-[node name="TopMesh" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 1 )
-
-[node name="LegShape1" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3 )
-shape = SubResource( 3 )
-
-[node name="LegShape2" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3 )
-shape = SubResource( 3 )
-
-[node name="LegShape3" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3 )
-shape = SubResource( 3 )
-
-[node name="LegShape4" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3 )
-shape = SubResource( 3 )
-
-[node name="TopShape" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0 )
-shape = SubResource( 4 )
+size = Vector3(1.6, 0.05, 0.8)
+
+[node name="Table" type="StaticBody3D"]
+
+[node name="LegMesh1" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("1")
+
+[node name="LegMesh2" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("1")
+
+[node name="LegMesh3" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("1")
+
+[node name="LegMesh4" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("1")
+
+[node name="TopMesh" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("1")
+
+[node name="LegShape1" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, 0.3)
+shape = SubResource("3")
+
+[node name="LegShape2" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.7, 0.4, -0.3)
+shape = SubResource("3")
+
+[node name="LegShape3" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, 0.3)
+shape = SubResource("3")
+
+[node name="LegShape4" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7, 0.4, -0.3)
+shape = SubResource("3")
+
+[node name="TopShape" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0)
+shape = SubResource("4")
diff --git a/assets/meshes/teacup/saucer.glb.import b/assets/meshes/teacup/saucer.glb.import
index 1df1db0c..32d2568e 100644
--- a/assets/meshes/teacup/saucer.glb.import
+++ b/assets/meshes/teacup/saucer.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn"
+uid="uid://wjmkacwv8f52"
+path="res://.godot/imported/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn"
[deps]
source_file="res://assets/meshes/teacup/saucer.glb"
-dest_files=[ "res://.import/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn" ]
+dest_files=["res://.godot/imported/saucer.glb-ac2a169fb17e78298ad1397a20695d0e.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/teacup/stand.glb.import b/assets/meshes/teacup/stand.glb.import
index 00712a93..93cbccd2 100644
--- a/assets/meshes/teacup/stand.glb.import
+++ b/assets/meshes/teacup/stand.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn"
+uid="uid://m3qtqvgasyyb"
+path="res://.godot/imported/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn"
[deps]
source_file="res://assets/meshes/teacup/stand.glb"
-dest_files=[ "res://.import/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn" ]
+dest_files=["res://.godot/imported/stand.glb-b6e576a7c92b629a037d8e3fe1d32aaa.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/teacup/teacup.glb.import b/assets/meshes/teacup/teacup.glb.import
index d48f4d15..a1455acf 100644
--- a/assets/meshes/teacup/teacup.glb.import
+++ b/assets/meshes/teacup/teacup.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn"
+uid="uid://btkch3a8qylwm"
+path="res://.godot/imported/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn"
[deps]
source_file="res://assets/meshes/teacup/teacup.glb"
-dest_files=[ "res://.import/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn" ]
+dest_files=["res://.godot/imported/teacup.glb-c133371895dfa59f67d0f1700cc4ca0f.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/teleport/Body.material b/assets/meshes/teleport/Body.material
deleted file mode 100644
index 9385024f..00000000
Binary files a/assets/meshes/teleport/Body.material and /dev/null differ
diff --git a/assets/meshes/teleport/Title.material b/assets/meshes/teleport/Title.material
deleted file mode 100644
index d59867a8..00000000
Binary files a/assets/meshes/teleport/Title.material and /dev/null differ
diff --git a/assets/meshes/teleport/teleport.gd b/assets/meshes/teleport/teleport.gd
index b17b7227..4db63206 100644
--- a/assets/meshes/teleport/teleport.gd
+++ b/assets/meshes/teleport/teleport.gd
@@ -1,23 +1,23 @@
-tool
+@tool
class_name Teleport
-extends Spatial
+extends Node3D
## Scene base for the current scene
-export var scene_base: NodePath
+@export var scene_base: NodePath
## Scene to teleport to, or none for main menu
-export var scene: PackedScene
+@export var scene: PackedScene
## Title texture
-export var title: Texture setget _set_title
+@export var title: Texture2D: set = _set_title
## Can Teleporter be used
-export var active := true
+@export var active := true
# Scene base to trigger loading
-onready var _scene_base: XRToolsSceneBase = get_node(scene_base)
+@onready var _scene_base: XRToolsSceneBase = get_node(scene_base)
func _ready():
@@ -25,7 +25,7 @@ func _ready():
# Called when the player enters the teleport area
-func _on_TeleportArea_body_entered(body: Spatial):
+func _on_TeleportArea_body_entered(body: Node3D):
# Skip if scene base is not known
if not _scene_base:
return
@@ -47,7 +47,7 @@ func _on_TeleportArea_body_entered(body: Spatial):
func set_collision_disabled(value):
if !Engine.is_editor_hint():
for child in get_node("TeleportBody").get_children():
- if child is CollisionShape:
+ if child is CollisionShape3D:
child.disabled = value
func _set_title(value):
@@ -58,4 +58,4 @@ func _set_title(value):
func _update_title():
if title:
var material: ShaderMaterial = $TeleportBody/Top.get_active_material(1)
- material.set_shader_param("Title", title)
+ material.set_shader_parameter("Title", title)
diff --git a/assets/meshes/teleport/teleport.glb.import b/assets/meshes/teleport/teleport.glb.import
index 5591d6a3..3c39aa52 100644
--- a/assets/meshes/teleport/teleport.glb.import
+++ b/assets/meshes/teleport/teleport.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn"
+uid="uid://vhtqagtfb4m4"
+path="res://.godot/imported/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn"
[deps]
source_file="res://assets/meshes/teleport/teleport.glb"
-dest_files=[ "res://.import/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn" ]
+dest_files=["res://.godot/imported/teleport.glb-112a12b81cc29759a2447576b0d3f192.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/teleport/teleport.tscn b/assets/meshes/teleport/teleport.tscn
index cafc9a93..4616c561 100644
--- a/assets/meshes/teleport/teleport.tscn
+++ b/assets/meshes/teleport/teleport.tscn
@@ -1,107 +1,175 @@
-[gd_scene load_steps=11 format=2]
+[gd_scene load_steps=18 format=3 uid="uid://3a6wjr3a13vd"]
-[ext_resource path="res://assets/meshes/teleport/teleport.gd" type="Script" id=1]
-[ext_resource path="res://assets/meshes/teleport/teleport_area_shader.tres" type="Material" id=2]
-[ext_resource path="res://assets/meshes/teleport/teleport_body_material.tres" type="Material" id=3]
-[ext_resource path="res://assets/meshes/teleport/teleport_title_material.tres" type="Material" id=4]
+[ext_resource type="Script" path="res://assets/meshes/teleport/teleport.gd" id="1_mkuv0"]
+[ext_resource type="Material" path="res://assets/meshes/teleport/teleport_body_material.tres" id="2_0kehv"]
+[ext_resource type="Material" uid="uid://c26e12f2whdrj" path="res://assets/meshes/teleport/teleport_title_material.tres" id="3_sl3q4"]
+[ext_resource type="Material" uid="uid://d4nr1joloeff8" path="res://assets/meshes/teleport/teleport_area_shader.tres" id="4_2bbe5"]
-[sub_resource type="ArrayMesh" id=1]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xbwut"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_wuhjn"]
+_surfaces = [{
+"aabb": AABB(-1.05, 0, -1.05, 2.1, 0.1, 2.1),
+"format": 4097,
+"index_count": 282,
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0),
+"lods": [0.612783, PackedByteArray(0, 0, 2, 0, 23, 0, 2, 0, 4, 0, 23, 0, 62, 0, 0, 0, 23, 0, 4, 0, 6, 0, 23, 0, 60, 0, 62, 0, 23, 0, 6, 0, 8, 0, 23, 0, 58, 0, 60, 0, 23, 0, 8, 0, 10, 0, 23, 0, 10, 0, 12, 0, 23, 0, 12, 0, 14, 0, 23, 0, 14, 0, 16, 0, 23, 0, 16, 0, 18, 0, 23, 0, 18, 0, 20, 0, 23, 0, 20, 0, 22, 0, 23, 0, 22, 0, 24, 0, 23, 0, 24, 0, 26, 0, 23, 0, 26, 0, 28, 0, 23, 0, 28, 0, 30, 0, 23, 0, 30, 0, 33, 0, 23, 0, 30, 0, 32, 0, 33, 0, 56, 0, 58, 0, 23, 0, 56, 0, 23, 0, 47, 0, 54, 0, 56, 0, 47, 0, 52, 0, 54, 0, 47, 0, 50, 0, 52, 0, 47, 0, 48, 0, 50, 0, 47, 0, 46, 0, 48, 0, 47, 0, 44, 0, 46, 0, 47, 0, 42, 0, 44, 0, 47, 0, 40, 0, 42, 0, 47, 0, 38, 0, 40, 0, 47, 0, 36, 0, 38, 0, 47, 0, 34, 0, 36, 0, 47, 0, 32, 0, 34, 0, 47, 0, 32, 0, 47, 0, 33, 0, 47, 0, 23, 0, 33, 0)],
+"primitive": 3,
+"vertex_count": 64,
+"vertex_data": PackedByteArray(240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_6x10k"]
resource_name = "teleport_Cone"
-surfaces/0 = {
-"aabb": AABB( -1.05, 0, -1.05, 2.1, 0.1, 2.1 ),
-"array_data": PoolByteArray( 240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 50, 127, 129, 63, 0, 56, 144, 56, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 0, 127, 212, 63, 122, 46, 180, 57, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 50, 127, 129, 63, 0, 56, 222, 54, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 55, 117, 129, 52, 150, 54, 144, 56, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 0, 127, 212, 63, 78, 44, 12, 57, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 55, 117, 129, 52, 150, 54, 222, 54, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 59, 109, 129, 44, 44, 53, 144, 56, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 0, 127, 212, 63, 102, 42, 90, 56, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 59, 109, 129, 44, 44, 53, 222, 54, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 61, 102, 129, 88, 132, 51, 144, 56, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 0, 127, 212, 63, 102, 42, 74, 55, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 61, 102, 129, 88, 132, 51, 222, 54, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 61, 96, 130, 95, 176, 48, 144, 56, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 0, 127, 212, 63, 78, 44, 230, 53, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 61, 96, 129, 95, 176, 48, 222, 54, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 61, 90, 130, 25, 115, 43, 144, 56, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 61, 90, 129, 25, 115, 43, 222, 54, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 0, 127, 212, 63, 122, 46, 150, 52, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 59, 85, 130, 108, 183, 167, 144, 56, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 59, 85, 130, 108, 183, 167, 222, 54, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 0, 127, 212, 63, 208, 48, 210, 50, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 55, 80, 129, 116, 149, 175, 144, 56, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 55, 80, 129, 116, 149, 175, 222, 54, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 0, 127, 212, 63, 210, 50, 208, 48, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 50, 76, 127, 1, 158, 178, 144, 56, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 50, 76, 127, 1, 158, 178, 222, 54, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 0, 127, 212, 63, 150, 52, 122, 46, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 46, 71, 127, 10, 185, 180, 144, 56, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 46, 71, 127, 10, 185, 180, 222, 54, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 0, 127, 212, 63, 230, 53, 78, 44, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 41, 67, 126, 18, 35, 182, 144, 56, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 41, 67, 126, 18, 35, 182, 222, 54, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 0, 127, 212, 63, 74, 55, 102, 42, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 36, 65, 126, 101, 141, 183, 144, 56, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 36, 65, 127, 25, 141, 183, 222, 54, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 0, 127, 212, 63, 90, 56, 102, 42, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 30, 65, 127, 31, 123, 184, 144, 56, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 30, 65, 126, 95, 123, 184, 222, 54, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 0, 127, 212, 63, 12, 57, 78, 44, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 24, 65, 126, 38, 48, 185, 144, 56, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 24, 65, 127, 38, 48, 185, 222, 54, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 0, 127, 212, 63, 180, 57, 122, 46, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 17, 67, 127, 82, 229, 185, 144, 56, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 17, 67, 126, 82, 229, 185, 222, 54, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 0, 127, 212, 63, 75, 58, 208, 48, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 9, 71, 126, 52, 154, 186, 144, 56, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 9, 71, 127, 52, 154, 186, 222, 54, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 0, 127, 212, 63, 203, 58, 210, 50, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 0, 76, 121, 69, 79, 187, 144, 56, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 0, 76, 114, 60, 167, 63, 144, 56, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 76, 121, 69, 79, 187, 222, 54, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 127, 212, 63, 48, 59, 150, 52, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 0, 76, 114, 60, 167, 63, 222, 54, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 247, 71, 105, 63, 77, 63, 144, 56, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 0, 127, 212, 63, 118, 59, 230, 53, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 247, 71, 105, 63, 77, 63, 222, 54, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 239, 67, 89, 63, 242, 62, 144, 56, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 0, 127, 212, 63, 153, 59, 74, 55, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 239, 67, 89, 63, 242, 62, 222, 54, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 232, 65, 76, 63, 152, 62, 144, 56, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 0, 127, 212, 63, 153, 59, 90, 56, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 232, 65, 76, 63, 152, 62, 222, 54, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 226, 65, 63, 63, 61, 62, 144, 56, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 0, 127, 212, 63, 118, 59, 12, 57, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 226, 65, 63, 63, 61, 62, 222, 54, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 220, 65, 50, 63, 227, 61, 144, 56, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 0, 127, 212, 63, 48, 59, 180, 57, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 220, 65, 50, 63, 227, 61, 222, 54, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 215, 67, 37, 63, 136, 61, 144, 56, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 0, 127, 212, 63, 203, 58, 75, 58, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 215, 67, 37, 63, 136, 61, 222, 54, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 210, 71, 21, 63, 46, 61, 144, 56, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 0, 127, 212, 63, 75, 58, 203, 58, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 210, 71, 21, 63, 46, 61, 222, 54, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 206, 76, 0, 63, 211, 60, 144, 56, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 0, 127, 212, 63, 180, 57, 48, 59, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 206, 76, 0, 63, 211, 60, 222, 54, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 201, 80, 235, 63, 121, 60, 144, 56, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 0, 127, 212, 63, 12, 57, 118, 59, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 201, 80, 235, 63, 121, 60, 222, 54, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 197, 85, 219, 63, 30, 60, 144, 56, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 0, 127, 212, 63, 90, 56, 153, 59, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 197, 85, 219, 63, 30, 60, 222, 54, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 195, 90, 206, 63, 136, 59, 144, 56, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 0, 127, 212, 63, 74, 55, 153, 59, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 195, 90, 206, 63, 136, 59, 222, 54, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 195, 96, 193, 63, 211, 58, 144, 56, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 0, 127, 212, 63, 230, 53, 118, 59, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 195, 96, 193, 63, 211, 58, 222, 54, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 195, 102, 180, 63, 30, 58, 144, 56, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 0, 127, 212, 63, 150, 52, 48, 59, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 195, 102, 180, 63, 30, 58, 222, 54, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 197, 109, 167, 63, 105, 57, 144, 56, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 0, 127, 212, 63, 210, 50, 203, 58, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 197, 109, 167, 63, 105, 57, 222, 54, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 201, 117, 151, 63, 180, 56, 144, 56, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 0, 127, 212, 63, 208, 48, 75, 58, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 201, 117, 151, 63, 180, 56, 222, 54 ),
-"array_index_data": PoolByteArray( 0, 0, 5, 0, 2, 0, 0, 0, 3, 0, 5, 0, 3, 0, 8, 0, 5, 0, 3, 0, 6, 0, 8, 0, 6, 0, 11, 0, 8, 0, 6, 0, 9, 0, 11, 0, 9, 0, 14, 0, 11, 0, 9, 0, 12, 0, 14, 0, 12, 0, 16, 0, 14, 0, 12, 0, 15, 0, 16, 0, 15, 0, 19, 0, 16, 0, 15, 0, 18, 0, 19, 0, 18, 0, 22, 0, 19, 0, 18, 0, 21, 0, 22, 0, 21, 0, 25, 0, 22, 0, 21, 0, 24, 0, 25, 0, 24, 0, 28, 0, 25, 0, 24, 0, 27, 0, 28, 0, 27, 0, 31, 0, 28, 0, 27, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 33, 0, 34, 0, 33, 0, 37, 0, 34, 0, 33, 0, 36, 0, 37, 0, 36, 0, 40, 0, 37, 0, 36, 0, 39, 0, 40, 0, 39, 0, 43, 0, 40, 0, 39, 0, 42, 0, 43, 0, 42, 0, 46, 0, 43, 0, 42, 0, 45, 0, 46, 0, 45, 0, 50, 0, 46, 0, 45, 0, 48, 0, 50, 0, 49, 0, 55, 0, 52, 0, 49, 0, 53, 0, 55, 0, 53, 0, 58, 0, 55, 0, 53, 0, 56, 0, 58, 0, 56, 0, 61, 0, 58, 0, 56, 0, 59, 0, 61, 0, 59, 0, 64, 0, 61, 0, 59, 0, 62, 0, 64, 0, 62, 0, 67, 0, 64, 0, 62, 0, 65, 0, 67, 0, 65, 0, 70, 0, 67, 0, 65, 0, 68, 0, 70, 0, 68, 0, 73, 0, 70, 0, 68, 0, 71, 0, 73, 0, 71, 0, 76, 0, 73, 0, 71, 0, 74, 0, 76, 0, 74, 0, 79, 0, 76, 0, 74, 0, 77, 0, 79, 0, 77, 0, 82, 0, 79, 0, 77, 0, 80, 0, 82, 0, 80, 0, 85, 0, 82, 0, 80, 0, 83, 0, 85, 0, 83, 0, 88, 0, 85, 0, 83, 0, 86, 0, 88, 0, 86, 0, 91, 0, 88, 0, 86, 0, 89, 0, 91, 0, 89, 0, 94, 0, 91, 0, 89, 0, 92, 0, 94, 0, 7, 0, 1, 0, 4, 0, 1, 0, 93, 0, 96, 0, 93, 0, 87, 0, 90, 0, 87, 0, 81, 0, 84, 0, 81, 0, 75, 0, 78, 0, 75, 0, 69, 0, 72, 0, 69, 0, 63, 0, 66, 0, 63, 0, 57, 0, 60, 0, 57, 0, 51, 0, 54, 0, 51, 0, 44, 0, 47, 0, 44, 0, 38, 0, 41, 0, 38, 0, 32, 0, 35, 0, 32, 0, 26, 0, 29, 0, 26, 0, 20, 0, 23, 0, 20, 0, 13, 0, 17, 0, 13, 0, 7, 0, 10, 0, 7, 0, 93, 0, 1, 0, 93, 0, 81, 0, 87, 0, 81, 0, 69, 0, 75, 0, 69, 0, 57, 0, 63, 0, 57, 0, 44, 0, 51, 0, 44, 0, 32, 0, 38, 0, 32, 0, 20, 0, 26, 0, 20, 0, 7, 0, 13, 0, 7, 0, 81, 0, 93, 0, 81, 0, 57, 0, 69, 0, 57, 0, 32, 0, 44, 0, 32, 0, 7, 0, 20, 0, 7, 0, 57, 0, 81, 0, 57, 0, 7, 0, 32, 0, 92, 0, 97, 0, 94, 0, 92, 0, 95, 0, 97, 0, 95, 0, 2, 0, 97, 0, 95, 0, 0, 0, 2, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-1.05, 0, -1.05, 2.1, 0.1, 2.1),
+"attribute_data": PackedByteArray(0, 0, 0, 63, 119, 24, 18, 63, 232, 73, 207, 61, 83, 145, 54, 63, 0, 0, 0, 63, 12, 207, 219, 62, 213, 194, 210, 62, 119, 24, 18, 63, 252, 208, 137, 61, 60, 154, 33, 63, 213, 194, 210, 62, 12, 207, 219, 62, 170, 133, 165, 62, 119, 24, 18, 63, 216, 204, 76, 61, 156, 88, 11, 63, 170, 133, 165, 62, 12, 207, 219, 62, 0, 145, 112, 62, 119, 24, 18, 63, 208, 204, 76, 61, 196, 78, 233, 62, 0, 145, 112, 62, 12, 207, 219, 62, 170, 22, 22, 62, 119, 24, 18, 63, 28, 209, 137, 61, 108, 203, 188, 62, 170, 22, 22, 62, 12, 207, 219, 62, 80, 113, 110, 61, 119, 24, 18, 63, 80, 113, 110, 61, 12, 207, 219, 62, 16, 74, 207, 61, 68, 221, 146, 62, 0, 240, 246, 188, 119, 24, 18, 63, 0, 240, 246, 188, 12, 207, 219, 62, 208, 18, 26, 62, 192, 65, 90, 62, 176, 176, 242, 189, 119, 24, 18, 63, 176, 176, 242, 189, 12, 207, 219, 62, 182, 65, 90, 62, 216, 18, 26, 62, 172, 210, 83, 190, 119, 24, 18, 63, 172, 210, 83, 190, 12, 207, 219, 62, 94, 221, 146, 62, 224, 73, 207, 61, 128, 38, 151, 190, 119, 24, 18, 63, 128, 38, 151, 190, 12, 207, 219, 62, 126, 203, 188, 62, 8, 209, 137, 61, 172, 99, 196, 190, 119, 24, 18, 63, 172, 99, 196, 190, 12, 207, 219, 62, 194, 78, 233, 62, 224, 204, 76, 61, 212, 160, 241, 190, 119, 24, 18, 63, 212, 160, 241, 190, 12, 207, 219, 62, 155, 88, 11, 63, 208, 204, 76, 61, 0, 111, 15, 191, 119, 24, 18, 63, 0, 111, 15, 191, 12, 207, 219, 62, 67, 154, 33, 63, 24, 209, 137, 61, 150, 13, 38, 191, 119, 24, 18, 63, 150, 13, 38, 191, 12, 207, 219, 62, 65, 145, 54, 63, 176, 73, 207, 61, 42, 172, 60, 191, 119, 24, 18, 63, 42, 172, 60, 191, 12, 207, 219, 62, 140, 111, 73, 63, 208, 18, 26, 62, 192, 74, 83, 191, 119, 24, 18, 63, 192, 74, 83, 191, 12, 207, 219, 62, 68, 123, 89, 63, 176, 65, 90, 62, 86, 233, 105, 191, 119, 24, 18, 63, 171, 244, 244, 63, 119, 24, 18, 63, 86, 233, 105, 191, 12, 207, 219, 62, 194, 22, 102, 63, 98, 221, 146, 62, 171, 244, 244, 63, 12, 207, 219, 62, 96, 165, 233, 63, 119, 24, 18, 63, 216, 197, 110, 63, 98, 203, 188, 62, 96, 165, 233, 63, 12, 207, 219, 62, 22, 86, 222, 63, 119, 24, 18, 63, 49, 51, 115, 63, 202, 78, 233, 62, 22, 86, 222, 63, 12, 207, 219, 62, 203, 6, 211, 63, 119, 24, 18, 63, 49, 51, 115, 63, 171, 88, 11, 63, 203, 6, 211, 63, 12, 207, 219, 62, 128, 183, 199, 63, 119, 24, 18, 63, 221, 197, 110, 63, 72, 154, 33, 63, 128, 183, 199, 63, 12, 207, 219, 62, 54, 104, 188, 63, 119, 24, 18, 63, 194, 22, 102, 63, 82, 145, 54, 63, 54, 104, 188, 63, 12, 207, 219, 62, 235, 24, 177, 63, 119, 24, 18, 63, 77, 123, 89, 63, 142, 111, 73, 63, 235, 24, 177, 63, 12, 207, 219, 62, 160, 201, 165, 63, 119, 24, 18, 63, 134, 111, 73, 63, 82, 123, 89, 63, 160, 201, 165, 63, 12, 207, 219, 62, 86, 122, 154, 63, 119, 24, 18, 63, 68, 145, 54, 63, 202, 22, 102, 63, 86, 122, 154, 63, 12, 207, 219, 62, 11, 43, 143, 63, 119, 24, 18, 63, 51, 154, 33, 63, 228, 197, 110, 63, 11, 43, 143, 63, 12, 207, 219, 62, 190, 219, 131, 63, 119, 24, 18, 63, 155, 88, 11, 63, 50, 51, 115, 63, 190, 219, 131, 63, 12, 207, 219, 62, 235, 24, 113, 63, 119, 24, 18, 63, 186, 78, 233, 62, 51, 51, 115, 63, 235, 24, 113, 63, 12, 207, 219, 62, 86, 122, 90, 63, 119, 24, 18, 63, 100, 203, 188, 62, 221, 197, 110, 63, 86, 122, 90, 63, 12, 207, 219, 62, 192, 219, 67, 63, 119, 24, 18, 63, 86, 221, 146, 62, 194, 22, 102, 63, 192, 219, 67, 63, 12, 207, 219, 62, 43, 61, 45, 63, 119, 24, 18, 63, 196, 65, 90, 62, 78, 123, 89, 63, 43, 61, 45, 63, 12, 207, 219, 62, 150, 158, 22, 63, 119, 24, 18, 63, 180, 18, 26, 62, 136, 111, 73, 63, 150, 158, 22, 63, 12, 207, 219, 62, 0, 0, 0, 63, 119, 24, 18, 63, 213, 194, 210, 62, 119, 24, 18, 63, 170, 133, 165, 62, 119, 24, 18, 63, 212, 160, 241, 190, 12, 207, 219, 62, 171, 244, 244, 63, 119, 24, 18, 63, 171, 244, 244, 63, 12, 207, 219, 62, 96, 165, 233, 63, 119, 24, 18, 63, 86, 122, 90, 63, 119, 24, 18, 63, 192, 219, 67, 63, 119, 24, 18, 63, 43, 61, 45, 63, 119, 24, 18, 63, 150, 158, 22, 63, 119, 24, 18, 63),
+"format": 4119,
"index_count": 282,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 98
-}
-
-[sub_resource type="ConvexPolygonShape" id=7]
-points = PoolVector3Array( 0, 0, -1.05, 0, 0.1, -0.900147, 0.175548, 0.1, -0.88288, 0.204738, 0, -1.02986, -0.204943, 0, -1.02986, -0.175754, 0.1, -0.88288, 0.344313, 0.1, -0.831695, 0.401664, 0, -0.970243, -0.40187, 0, -0.970243, -0.344518, 0.1, -0.831695, 0.499922, 0.1, -0.748444, 0.583174, 0, -0.873218, -0.583379, 0, -0.873218, -0.500127, 0.1, -0.748444, 0.636208, 0.1, -0.636413, 0.742277, 0, -0.742482, -0.742482, 0, -0.742482, -0.636413, 0.1, -0.636413, 0.748238, 0.1, -0.500127, 0.873013, 0, -0.583379, -0.873218, 0, -0.583379, -0.748444, 0.1, -0.500127, 0.83149, 0.1, -0.344518, 0.970037, 0, -0.40187, -0.970243, 0, -0.40187, -0.831695, 0.1, -0.344518, 0.882674, 0.1, -0.175754, 1.02965, 0, -0.204943, -1.02986, 0, -0.204943, -0.88288, 0.1, -0.175754, 0.899941, 0.1, 0, 1.05, 0, 0, -1.05, 0, 0, -0.900147, 0.1, 0, 0.882674, 0.1, 0.175548, 1.02965, 0, 0.204738, -1.02986, 0, 0.204738, -0.88288, 0.1, 0.175548, 0.970037, 0, 0.401664, 0.83149, 0.1, 0.344313, -0.970243, 0, 0.401664, -0.831695, 0.1, 0.344313, 0.873013, 0, 0.583174, 0.748238, 0.1, 0.499922, -0.873218, 0, 0.583174, -0.748444, 0.1, 0.499922, 0.742277, 0, 0.742277, 0.636208, 0.1, 0.636208, -0.742482, 0, 0.742277, -0.636413, 0.1, 0.636208, 0.583174, 0, 0.873013, 0.499922, 0.1, 0.748238, -0.583379, 0, 0.873013, -0.500127, 0.1, 0.748238, 0.344313, 0.1, 0.83149, 0.401664, 0, 0.970037, -0.40187, 0, 0.970037, -0.344518, 0.1, 0.83149, 0.175548, 0.1, 0.882674, 0.204738, 0, 1.02965, -0.204943, 0, 1.02965, -0.175754, 0.1, 0.882674, -0.000205517, 0.1, 0.899941, -0.000205517, 0, 1.05 )
-
-[sub_resource type="ArrayMesh" id=2]
+"index_data": PackedByteArray(0, 0, 5, 0, 2, 0, 0, 0, 3, 0, 5, 0, 3, 0, 8, 0, 5, 0, 3, 0, 6, 0, 8, 0, 6, 0, 11, 0, 8, 0, 6, 0, 9, 0, 11, 0, 9, 0, 14, 0, 11, 0, 9, 0, 12, 0, 14, 0, 12, 0, 16, 0, 14, 0, 12, 0, 15, 0, 16, 0, 15, 0, 19, 0, 16, 0, 15, 0, 18, 0, 19, 0, 18, 0, 22, 0, 19, 0, 18, 0, 21, 0, 22, 0, 21, 0, 25, 0, 22, 0, 21, 0, 24, 0, 25, 0, 24, 0, 28, 0, 25, 0, 24, 0, 27, 0, 28, 0, 27, 0, 31, 0, 28, 0, 27, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 33, 0, 34, 0, 33, 0, 37, 0, 34, 0, 33, 0, 36, 0, 37, 0, 36, 0, 40, 0, 37, 0, 36, 0, 39, 0, 40, 0, 39, 0, 43, 0, 40, 0, 39, 0, 42, 0, 43, 0, 42, 0, 46, 0, 43, 0, 42, 0, 45, 0, 46, 0, 45, 0, 50, 0, 46, 0, 45, 0, 48, 0, 50, 0, 49, 0, 55, 0, 52, 0, 49, 0, 53, 0, 55, 0, 53, 0, 58, 0, 55, 0, 53, 0, 56, 0, 58, 0, 56, 0, 61, 0, 58, 0, 56, 0, 59, 0, 61, 0, 59, 0, 64, 0, 61, 0, 59, 0, 62, 0, 64, 0, 62, 0, 67, 0, 64, 0, 62, 0, 65, 0, 67, 0, 65, 0, 70, 0, 67, 0, 65, 0, 68, 0, 70, 0, 68, 0, 73, 0, 70, 0, 68, 0, 71, 0, 73, 0, 71, 0, 76, 0, 73, 0, 71, 0, 74, 0, 76, 0, 74, 0, 79, 0, 76, 0, 74, 0, 77, 0, 79, 0, 77, 0, 82, 0, 79, 0, 77, 0, 80, 0, 82, 0, 80, 0, 85, 0, 82, 0, 80, 0, 83, 0, 85, 0, 83, 0, 88, 0, 85, 0, 83, 0, 86, 0, 88, 0, 86, 0, 91, 0, 88, 0, 86, 0, 89, 0, 91, 0, 89, 0, 94, 0, 91, 0, 89, 0, 92, 0, 94, 0, 7, 0, 1, 0, 4, 0, 1, 0, 93, 0, 96, 0, 93, 0, 87, 0, 90, 0, 87, 0, 81, 0, 84, 0, 81, 0, 75, 0, 78, 0, 75, 0, 69, 0, 72, 0, 69, 0, 63, 0, 66, 0, 63, 0, 57, 0, 60, 0, 57, 0, 51, 0, 54, 0, 51, 0, 44, 0, 47, 0, 44, 0, 38, 0, 41, 0, 38, 0, 32, 0, 35, 0, 32, 0, 26, 0, 29, 0, 26, 0, 20, 0, 23, 0, 20, 0, 13, 0, 17, 0, 13, 0, 7, 0, 10, 0, 7, 0, 93, 0, 1, 0, 93, 0, 81, 0, 87, 0, 81, 0, 69, 0, 75, 0, 69, 0, 57, 0, 63, 0, 57, 0, 44, 0, 51, 0, 44, 0, 32, 0, 38, 0, 32, 0, 20, 0, 26, 0, 20, 0, 7, 0, 13, 0, 7, 0, 81, 0, 93, 0, 81, 0, 57, 0, 69, 0, 57, 0, 32, 0, 44, 0, 32, 0, 7, 0, 20, 0, 7, 0, 57, 0, 81, 0, 57, 0, 7, 0, 32, 0, 92, 0, 97, 0, 94, 0, 92, 0, 95, 0, 97, 0, 95, 0, 2, 0, 97, 0, 95, 0, 0, 0, 2, 0),
+"lods": [0.612783, PackedByteArray(98, 0, 99, 0, 101, 0, 99, 0, 100, 0, 101, 0, 108, 0, 98, 0, 101, 0, 100, 0, 9, 0, 101, 0, 107, 0, 108, 0, 101, 0, 9, 0, 12, 0, 101, 0, 106, 0, 107, 0, 101, 0, 12, 0, 15, 0, 101, 0, 15, 0, 18, 0, 101, 0, 18, 0, 21, 0, 101, 0, 21, 0, 24, 0, 101, 0, 24, 0, 27, 0, 101, 0, 27, 0, 30, 0, 101, 0, 30, 0, 33, 0, 101, 0, 33, 0, 36, 0, 101, 0, 36, 0, 39, 0, 101, 0, 39, 0, 42, 0, 101, 0, 42, 0, 45, 0, 101, 0, 45, 0, 50, 0, 101, 0, 45, 0, 48, 0, 50, 0, 105, 0, 106, 0, 101, 0, 105, 0, 101, 0, 73, 0, 83, 0, 105, 0, 73, 0, 80, 0, 83, 0, 73, 0, 77, 0, 80, 0, 73, 0, 74, 0, 77, 0, 73, 0, 71, 0, 74, 0, 73, 0, 68, 0, 71, 0, 73, 0, 65, 0, 68, 0, 73, 0, 62, 0, 65, 0, 73, 0, 59, 0, 62, 0, 73, 0, 56, 0, 59, 0, 73, 0, 104, 0, 56, 0, 73, 0, 102, 0, 104, 0, 73, 0, 102, 0, 73, 0, 103, 0, 72, 0, 35, 0, 51, 0)],
+"material": SubResource("StandardMaterial3D_xbwut"),
+"primitive": 3,
+"vertex_count": 109,
+"vertex_data": PackedByteArray(240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 50, 179, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 255, 127, 255, 255, 105, 83, 255, 191, 0, 0, 0, 0, 205, 204, 204, 61, 102, 102, 102, 191, 50, 179, 255, 255, 0, 0, 255, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 62, 184, 170, 246, 0, 0, 97, 181, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 255, 127, 255, 255, 106, 83, 255, 191, 149, 203, 51, 62, 205, 204, 204, 61, 17, 249, 97, 191, 62, 184, 170, 246, 0, 0, 97, 181, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 150, 187, 139, 238, 0, 0, 64, 173, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 255, 127, 255, 255, 105, 83, 255, 191, 45, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 191, 150, 187, 139, 238, 0, 0, 64, 173, 88, 86, 21, 63, 0, 0, 0, 0, 192, 127, 95, 191, 126, 189, 93, 231, 0, 0, 161, 217, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 255, 127, 255, 255, 104, 83, 255, 191, 222, 0, 0, 63, 205, 204, 204, 61, 18, 146, 63, 191, 126, 189, 93, 231, 0, 0, 161, 217, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 191, 28, 190, 240, 224, 0, 0, 255, 223, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 255, 127, 255, 255, 105, 83, 255, 191, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 191, 28, 190, 240, 224, 0, 0, 255, 223, 192, 127, 95, 63, 0, 0, 0, 0, 88, 86, 21, 191, 126, 189, 33, 219, 0, 0, 161, 153, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 126, 189, 33, 219, 0, 0, 161, 153, 18, 146, 63, 63, 205, 204, 204, 61, 222, 0, 0, 191, 255, 127, 255, 255, 106, 83, 255, 191, 188, 86, 120, 63, 0, 0, 0, 0, 9, 187, 205, 190, 150, 187, 220, 213, 0, 0, 64, 237, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 150, 187, 220, 213, 0, 0, 64, 237, 161, 220, 84, 63, 205, 204, 204, 61, 44, 87, 176, 190, 255, 127, 255, 255, 105, 83, 255, 191, 74, 209, 131, 63, 0, 0, 0, 0, 218, 194, 81, 190, 62, 184, 20, 209, 0, 0, 96, 245, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 62, 184, 20, 209, 0, 0, 96, 245, 17, 249, 97, 63, 205, 204, 204, 61, 150, 203, 51, 190, 255, 127, 255, 255, 105, 83, 255, 191, 102, 102, 134, 63, 0, 0, 0, 0, 61, 32, 65, 51, 50, 179, 203, 204, 255, 255, 0, 128, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 50, 179, 203, 204, 255, 255, 0, 128, 102, 102, 102, 63, 205, 204, 204, 61, 16, 247, 40, 51, 255, 127, 255, 255, 105, 83, 255, 191, 74, 209, 131, 63, 0, 0, 0, 0, 216, 194, 81, 62, 233, 174, 191, 199, 255, 255, 157, 138, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 233, 174, 191, 199, 255, 255, 157, 138, 17, 249, 97, 63, 205, 204, 204, 61, 149, 203, 51, 62, 255, 127, 255, 255, 105, 83, 255, 191, 189, 86, 120, 63, 0, 0, 0, 0, 8, 187, 205, 62, 34, 170, 104, 196, 255, 255, 190, 146, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 34, 170, 104, 196, 255, 255, 190, 146, 162, 220, 84, 63, 205, 204, 204, 61, 43, 87, 176, 62, 255, 127, 255, 255, 105, 83, 255, 191, 193, 127, 95, 63, 0, 0, 0, 0, 87, 86, 21, 63, 220, 164, 128, 194, 255, 255, 92, 230, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 220, 164, 128, 194, 255, 255, 161, 153, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 255, 127, 255, 255, 105, 83, 255, 191, 255, 17, 62, 63, 0, 0, 0, 0, 255, 17, 62, 63, 14, 159, 225, 193, 255, 255, 255, 159, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 14, 159, 225, 193, 255, 255, 255, 223, 218, 234, 34, 63, 205, 204, 204, 61, 218, 234, 34, 63, 255, 127, 255, 255, 105, 83, 255, 191, 87, 86, 21, 63, 0, 0, 0, 0, 193, 127, 95, 63, 161, 152, 128, 194, 255, 255, 92, 166, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 161, 152, 128, 194, 255, 255, 92, 166, 221, 0, 0, 63, 205, 204, 204, 61, 19, 146, 63, 63, 255, 127, 255, 255, 105, 83, 255, 191, 11, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 63, 115, 145, 104, 196, 255, 255, 189, 210, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 115, 145, 104, 196, 255, 255, 189, 210, 46, 87, 176, 62, 205, 204, 204, 61, 161, 220, 84, 63, 255, 127, 255, 255, 105, 83, 255, 191, 215, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 63, 84, 137, 191, 199, 255, 255, 97, 181, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 84, 137, 191, 199, 255, 255, 97, 181, 148, 203, 51, 62, 205, 204, 204, 61, 18, 249, 97, 63, 255, 127, 255, 255, 104, 83, 255, 191, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 255, 127, 203, 204, 197, 250, 135, 198, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 255, 127, 203, 204, 239, 242, 98, 189, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 203, 204, 197, 250, 135, 198, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 255, 255, 105, 83, 255, 191, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 255, 127, 203, 204, 239, 242, 98, 189, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 170, 118, 191, 199, 194, 234, 255, 191, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 255, 127, 255, 255, 103, 83, 255, 191, 144, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 63, 170, 118, 191, 199, 194, 234, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 188, 86, 120, 63, 139, 110, 104, 196, 129, 218, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 255, 127, 255, 255, 105, 83, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 161, 220, 84, 63, 139, 110, 104, 196, 129, 218, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 191, 127, 95, 63, 93, 103, 128, 194, 186, 204, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 255, 127, 255, 255, 106, 83, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 17, 146, 63, 63, 93, 103, 128, 194, 186, 204, 255, 191, 254, 17, 62, 191, 0, 0, 0, 0, 0, 18, 62, 63, 240, 96, 225, 193, 255, 191, 255, 191, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 255, 127, 255, 255, 105, 83, 255, 191, 218, 234, 34, 191, 205, 204, 204, 61, 219, 234, 34, 63, 240, 96, 225, 193, 255, 191, 255, 191, 189, 127, 95, 191, 0, 0, 0, 0, 91, 86, 21, 63, 34, 91, 128, 194, 68, 179, 255, 191, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 255, 127, 255, 255, 105, 83, 255, 191, 16, 146, 63, 191, 205, 204, 204, 61, 224, 0, 0, 63, 34, 91, 128, 194, 68, 179, 255, 191, 188, 86, 120, 191, 0, 0, 0, 0, 14, 187, 205, 62, 220, 85, 104, 196, 124, 165, 255, 191, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 255, 127, 255, 255, 105, 83, 255, 191, 161, 220, 84, 191, 205, 204, 204, 61, 49, 87, 176, 62, 220, 85, 104, 196, 124, 165, 255, 191, 74, 209, 131, 191, 0, 0, 0, 0, 220, 194, 81, 62, 21, 81, 191, 199, 59, 149, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 255, 127, 255, 255, 105, 83, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 152, 203, 51, 62, 21, 81, 191, 199, 59, 149, 255, 191, 102, 102, 134, 191, 0, 0, 0, 0, 124, 28, 103, 178, 204, 76, 203, 204, 255, 127, 255, 191, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 255, 127, 255, 255, 105, 83, 255, 191, 102, 102, 102, 191, 205, 204, 204, 61, 143, 97, 56, 178, 204, 76, 204, 204, 255, 127, 255, 191, 74, 209, 131, 191, 0, 0, 0, 0, 222, 194, 81, 190, 192, 71, 20, 209, 195, 106, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 255, 127, 255, 255, 105, 83, 255, 191, 17, 249, 97, 191, 205, 204, 204, 61, 154, 203, 51, 190, 192, 71, 20, 209, 195, 106, 255, 191, 187, 86, 120, 191, 0, 0, 0, 0, 15, 187, 205, 190, 104, 68, 220, 213, 130, 90, 255, 191, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 255, 127, 255, 255, 105, 83, 255, 191, 160, 220, 84, 191, 205, 204, 204, 61, 50, 87, 176, 190, 104, 68, 220, 213, 130, 90, 255, 191, 194, 127, 95, 191, 0, 0, 0, 0, 85, 86, 21, 191, 128, 66, 33, 219, 186, 76, 255, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 255, 127, 255, 255, 105, 83, 255, 191, 20, 146, 63, 191, 205, 204, 204, 61, 219, 0, 0, 191, 128, 66, 33, 219, 186, 76, 255, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 226, 65, 240, 224, 255, 63, 255, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 255, 127, 255, 255, 105, 83, 255, 191, 220, 234, 34, 191, 205, 204, 204, 61, 218, 234, 34, 191, 226, 65, 240, 224, 255, 63, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 128, 66, 93, 231, 68, 51, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 255, 127, 255, 255, 105, 83, 255, 191, 222, 0, 0, 191, 205, 204, 204, 61, 18, 146, 63, 191, 128, 66, 93, 231, 68, 51, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 104, 68, 139, 238, 125, 37, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 255, 127, 255, 255, 105, 83, 255, 191, 44, 87, 176, 190, 205, 204, 204, 61, 162, 220, 84, 191, 104, 68, 139, 238, 125, 37, 255, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 192, 71, 170, 246, 60, 21, 255, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 255, 127, 255, 255, 105, 83, 255, 191, 143, 203, 51, 190, 205, 204, 204, 61, 18, 249, 97, 191, 192, 71, 170, 246, 60, 21, 255, 191, 240, 255, 63, 176, 0, 0, 0, 0, 102, 102, 134, 191, 113, 149, 9, 255, 0, 0, 255, 191, 216, 194, 81, 62, 0, 0, 0, 0, 74, 209, 131, 191, 217, 154, 151, 250, 0, 0, 97, 181, 10, 187, 205, 62, 0, 0, 0, 0, 188, 86, 120, 191, 178, 151, 228, 247, 0, 0, 64, 173, 19, 146, 63, 63, 205, 204, 204, 61, 221, 0, 0, 63, 54, 149, 148, 223, 255, 255, 161, 153, 60, 160, 198, 179, 0, 0, 0, 0, 102, 102, 134, 63, 218, 124, 152, 233, 239, 242, 98, 189, 16, 247, 168, 179, 205, 204, 204, 61, 102, 102, 102, 63, 171, 125, 122, 238, 239, 242, 98, 189, 211, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 63, 235, 118, 72, 224, 194, 234, 255, 191, 1, 18, 62, 191, 0, 0, 0, 0, 254, 17, 62, 191, 134, 96, 124, 237, 255, 63, 255, 191, 89, 86, 21, 191, 0, 0, 0, 0, 192, 127, 95, 191, 31, 118, 244, 251, 68, 51, 255, 191, 9, 187, 205, 190, 0, 0, 0, 0, 189, 86, 120, 191, 131, 117, 53, 253, 125, 37, 255, 191, 210, 194, 81, 190, 0, 0, 0, 0, 74, 209, 131, 191, 221, 112, 69, 254, 60, 21, 255, 191)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_wuhjn")
+
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_4fsqc"]
+points = PackedVector3Array(0, 0, -1.05, 0, 0.1, -0.900147, 0.175548, 0.1, -0.88288, 0.204738, 0, -1.02986, -0.204943, 0, -1.02986, -0.175754, 0.1, -0.88288, 0.344313, 0.1, -0.831695, 0.401664, 0, -0.970243, -0.40187, 0, -0.970243, -0.344518, 0.1, -0.831695, 0.499922, 0.1, -0.748444, 0.583174, 0, -0.873218, -0.583379, 0, -0.873218, -0.500127, 0.1, -0.748444, 0.636208, 0.1, -0.636413, 0.742277, 0, -0.742482, -0.742482, 0, -0.742482, -0.636413, 0.1, -0.636413, 0.748238, 0.1, -0.500127, 0.873013, 0, -0.583379, -0.873218, 0, -0.583379, -0.748444, 0.1, -0.500127, 0.83149, 0.1, -0.344518, 0.970037, 0, -0.40187, -0.970243, 0, -0.40187, -0.831695, 0.1, -0.344518, 0.882674, 0.1, -0.175754, 1.02965, 0, -0.204943, -1.02986, 0, -0.204943, -0.88288, 0.1, -0.175754, 0.899941, 0.1, 0, 1.05, 0, 0, -1.05, 0, 0, -0.900147, 0.1, 0, 0.882674, 0.1, 0.175548, 1.02965, 0, 0.204738, -1.02986, 0, 0.204738, -0.88288, 0.1, 0.175548, 0.970037, 0, 0.401664, 0.83149, 0.1, 0.344313, -0.970243, 0, 0.401664, -0.831695, 0.1, 0.344313, 0.873013, 0, 0.583174, 0.748238, 0.1, 0.499922, -0.873218, 0, 0.583174, -0.748444, 0.1, 0.499922, 0.742277, 0, 0.742277, 0.636208, 0.1, 0.636208, -0.742482, 0, 0.742277, -0.636413, 0.1, 0.636208, 0.583174, 0, 0.873013, 0.499922, 0.1, 0.748238, -0.583379, 0, 0.873013, -0.500127, 0.1, 0.748238, 0.344313, 0.1, 0.83149, 0.401664, 0, 0.970037, -0.40187, 0, 0.970037, -0.344518, 0.1, 0.83149, 0.175548, 0.1, 0.882674, 0.204738, 0, 1.02965, -0.204943, 0, 1.02965, -0.175754, 0.1, 0.882674, -0.000205517, 0, 1.05, -0.000205517, 0.1, 0.899941)
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xtwro"]
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ke00"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_kdkqu"]
+_surfaces = [{
+"aabb": AABB(-1, 2.9, -1, 2, 0.7, 2.00001),
+"format": 4097,
+"index_count": 948,
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0, 50, 0, 90, 0, 52, 0, 50, 0, 89, 0, 90, 0, 6, 0, 68, 0, 8, 0, 6, 0, 67, 0, 68, 0, 24, 0, 77, 0, 26, 0, 24, 0, 76, 0, 77, 0, 42, 0, 86, 0, 44, 0, 42, 0, 85, 0, 86, 0, 60, 0, 95, 0, 62, 0, 60, 0, 94, 0, 95, 0, 16, 0, 73, 0, 18, 0, 16, 0, 72, 0, 73, 0, 34, 0, 82, 0, 36, 0, 34, 0, 81, 0, 82, 0, 52, 0, 91, 0, 54, 0, 52, 0, 90, 0, 91, 0, 8, 0, 69, 0, 10, 0, 8, 0, 68, 0, 69, 0, 26, 0, 78, 0, 28, 0, 26, 0, 77, 0, 78, 0, 44, 0, 87, 0, 46, 0, 44, 0, 86, 0, 87, 0, 0, 0, 65, 0, 2, 0, 0, 0, 64, 0, 65, 0, 62, 0, 64, 0, 0, 0, 62, 0, 95, 0, 64, 0, 18, 0, 74, 0, 20, 0, 18, 0, 73, 0, 74, 0, 36, 0, 83, 0, 38, 0, 36, 0, 82, 0, 83, 0, 54, 0, 92, 0, 56, 0, 54, 0, 91, 0, 92, 0, 10, 0, 70, 0, 12, 0, 10, 0, 69, 0, 70, 0, 28, 0, 79, 0, 30, 0, 28, 0, 78, 0, 79, 0, 46, 0, 88, 0, 48, 0, 46, 0, 87, 0, 88, 0, 2, 0, 66, 0, 4, 0, 2, 0, 65, 0, 66, 0, 20, 0, 75, 0, 22, 0, 20, 0, 74, 0, 75, 0, 38, 0, 84, 0, 40, 0, 38, 0, 83, 0, 84, 0, 56, 0, 93, 0, 58, 0, 56, 0, 92, 0, 93, 0, 12, 0, 71, 0, 14, 0, 12, 0, 70, 0, 71, 0, 30, 0, 80, 0, 32, 0, 30, 0, 79, 0, 80, 0, 48, 0, 89, 0, 50, 0, 48, 0, 88, 0, 89, 0, 4, 0, 67, 0, 6, 0, 4, 0, 66, 0, 67, 0, 22, 0, 76, 0, 24, 0, 22, 0, 75, 0, 76, 0, 40, 0, 85, 0, 42, 0, 40, 0, 84, 0, 85, 0, 58, 0, 94, 0, 60, 0, 58, 0, 93, 0, 94, 0, 14, 0, 72, 0, 16, 0, 14, 0, 71, 0, 72, 0, 32, 0, 81, 0, 34, 0, 32, 0, 80, 0, 81, 0, 111, 0, 139, 0, 112, 0, 111, 0, 138, 0, 139, 0, 98, 0, 129, 0, 99, 0, 98, 0, 167, 0, 129, 0, 125, 0, 173, 0, 126, 0, 125, 0, 148, 0, 173, 0, 112, 0, 140, 0, 113, 0, 112, 0, 139, 0, 140, 0, 99, 0, 130, 0, 100, 0, 99, 0, 129, 0, 130, 0, 126, 0, 149, 0, 127, 0, 126, 0, 173, 0, 149, 0, 113, 0, 141, 0, 114, 0, 113, 0, 140, 0, 141, 0, 100, 0, 131, 0, 101, 0, 100, 0, 130, 0, 131, 0, 127, 0, 170, 0, 96, 0, 127, 0, 149, 0, 170, 0, 114, 0, 142, 0, 115, 0, 114, 0, 141, 0, 142, 0, 101, 0, 162, 0, 102, 0, 101, 0, 131, 0, 162, 0, 115, 0, 187, 0, 116, 0, 115, 0, 142, 0, 187, 0, 102, 0, 132, 0, 103, 0, 102, 0, 162, 0, 132, 0, 116, 0, 143, 0, 117, 0, 116, 0, 187, 0, 143, 0, 103, 0, 159, 0, 104, 0, 103, 0, 132, 0, 159, 0, 117, 0, 184, 0, 118, 0, 117, 0, 143, 0, 184, 0, 104, 0, 133, 0, 105, 0, 104, 0, 159, 0, 133, 0, 118, 0, 144, 0, 119, 0, 118, 0, 184, 0, 144, 0, 105, 0, 156, 0, 106, 0, 105, 0, 133, 0, 156, 0, 119, 0, 181, 0, 120, 0, 119, 0, 144, 0, 181, 0, 106, 0, 134, 0, 107, 0, 106, 0, 156, 0, 134, 0, 120, 0, 145, 0, 121, 0, 120, 0, 181, 0, 145, 0, 107, 0, 135, 0, 108, 0, 107, 0, 134, 0, 135, 0, 121, 0, 178, 0, 122, 0, 121, 0, 145, 0, 178, 0, 108, 0, 136, 0, 109, 0, 108, 0, 135, 0, 136, 0, 122, 0, 146, 0, 123, 0, 122, 0, 178, 0, 146, 0, 109, 0, 137, 0, 110, 0, 109, 0, 136, 0, 137, 0, 96, 0, 128, 0, 97, 0, 96, 0, 170, 0, 128, 0, 123, 0, 147, 0, 124, 0, 123, 0, 146, 0, 147, 0, 110, 0, 138, 0, 111, 0, 110, 0, 137, 0, 138, 0, 97, 0, 167, 0, 98, 0, 97, 0, 128, 0, 167, 0, 124, 0, 148, 0, 125, 0, 124, 0, 147, 0, 148, 0, 139, 0, 151, 0, 150, 0, 139, 0, 138, 0, 151, 0, 138, 0, 152, 0, 151, 0, 138, 0, 137, 0, 152, 0, 137, 0, 153, 0, 152, 0, 137, 0, 136, 0, 153, 0, 136, 0, 154, 0, 153, 0, 136, 0, 135, 0, 154, 0, 135, 0, 155, 0, 154, 0, 135, 0, 134, 0, 155, 0, 134, 0, 157, 0, 155, 0, 134, 0, 156, 0, 157, 0, 156, 0, 158, 0, 157, 0, 156, 0, 133, 0, 158, 0, 133, 0, 160, 0, 158, 0, 133, 0, 159, 0, 160, 0, 159, 0, 161, 0, 160, 0, 159, 0, 132, 0, 161, 0, 132, 0, 163, 0, 161, 0, 132, 0, 162, 0, 163, 0, 162, 0, 164, 0, 163, 0, 162, 0, 131, 0, 164, 0, 131, 0, 165, 0, 164, 0, 131, 0, 130, 0, 165, 0, 130, 0, 166, 0, 165, 0, 130, 0, 129, 0, 166, 0, 129, 0, 168, 0, 166, 0, 129, 0, 167, 0, 168, 0, 167, 0, 169, 0, 168, 0, 167, 0, 128, 0, 169, 0, 128, 0, 171, 0, 169, 0, 128, 0, 170, 0, 171, 0, 170, 0, 172, 0, 171, 0, 170, 0, 149, 0, 172, 0, 149, 0, 174, 0, 172, 0, 149, 0, 173, 0, 174, 0, 173, 0, 175, 0, 174, 0, 173, 0, 148, 0, 175, 0, 148, 0, 176, 0, 175, 0, 148, 0, 147, 0, 176, 0, 147, 0, 177, 0, 176, 0, 147, 0, 146, 0, 177, 0, 146, 0, 179, 0, 177, 0, 146, 0, 178, 0, 179, 0, 178, 0, 180, 0, 179, 0, 178, 0, 145, 0, 180, 0, 145, 0, 182, 0, 180, 0, 145, 0, 181, 0, 182, 0, 181, 0, 183, 0, 182, 0, 181, 0, 144, 0, 183, 0, 144, 0, 185, 0, 183, 0, 144, 0, 184, 0, 185, 0, 184, 0, 186, 0, 185, 0, 184, 0, 143, 0, 186, 0, 143, 0, 188, 0, 186, 0, 143, 0, 187, 0, 188, 0, 187, 0, 189, 0, 188, 0, 187, 0, 142, 0, 189, 0, 142, 0, 190, 0, 189, 0, 142, 0, 141, 0, 190, 0, 152, 0, 150, 0, 151, 0, 150, 0, 190, 0, 191, 0, 190, 0, 188, 0, 189, 0, 188, 0, 185, 0, 186, 0, 185, 0, 182, 0, 183, 0, 182, 0, 179, 0, 180, 0, 179, 0, 176, 0, 177, 0, 176, 0, 174, 0, 175, 0, 174, 0, 171, 0, 172, 0, 171, 0, 168, 0, 169, 0, 168, 0, 165, 0, 166, 0, 165, 0, 163, 0, 164, 0, 163, 0, 160, 0, 161, 0, 160, 0, 157, 0, 158, 0, 157, 0, 154, 0, 155, 0, 154, 0, 152, 0, 153, 0, 152, 0, 190, 0, 150, 0, 190, 0, 185, 0, 188, 0, 185, 0, 179, 0, 182, 0, 179, 0, 174, 0, 176, 0, 174, 0, 168, 0, 171, 0, 168, 0, 163, 0, 165, 0, 163, 0, 157, 0, 160, 0, 157, 0, 152, 0, 154, 0, 152, 0, 185, 0, 190, 0, 185, 0, 174, 0, 179, 0, 174, 0, 163, 0, 168, 0, 163, 0, 152, 0, 157, 0, 152, 0, 174, 0, 185, 0, 174, 0, 152, 0, 163, 0, 141, 0, 191, 0, 190, 0, 141, 0, 140, 0, 191, 0, 140, 0, 150, 0, 191, 0, 140, 0, 139, 0, 150, 0),
+"lods": [0.123754, PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 65, 0, 3, 0, 0, 0, 64, 0, 65, 0, 65, 0, 5, 0, 3, 0, 65, 0, 66, 0, 67, 0, 65, 0, 67, 0, 68, 0, 65, 0, 68, 0, 5, 0, 68, 0, 9, 0, 5, 0, 68, 0, 13, 0, 9, 0, 68, 0, 17, 0, 13, 0, 68, 0, 69, 0, 70, 0, 68, 0, 70, 0, 71, 0, 68, 0, 71, 0, 72, 0, 68, 0, 72, 0, 73, 0, 68, 0, 73, 0, 17, 0, 73, 0, 21, 0, 17, 0, 73, 0, 25, 0, 21, 0, 73, 0, 74, 0, 75, 0, 73, 0, 75, 0, 76, 0, 73, 0, 76, 0, 25, 0, 25, 0, 76, 0, 77, 0, 25, 0, 77, 0, 78, 0, 25, 0, 78, 0, 80, 0, 80, 0, 78, 0, 79, 0, 25, 0, 80, 0, 29, 0, 80, 0, 33, 0, 29, 0, 80, 0, 35, 0, 33, 0, 80, 0, 81, 0, 35, 0, 81, 0, 37, 0, 35, 0, 81, 0, 83, 0, 37, 0, 81, 0, 82, 0, 83, 0, 83, 0, 41, 0, 37, 0, 83, 0, 85, 0, 41, 0, 83, 0, 84, 0, 85, 0, 85, 0, 86, 0, 41, 0, 86, 0, 45, 0, 41, 0, 86, 0, 49, 0, 45, 0, 86, 0, 87, 0, 88, 0, 86, 0, 88, 0, 89, 0, 86, 0, 89, 0, 90, 0, 86, 0, 90, 0, 49, 0, 90, 0, 53, 0, 49, 0, 90, 0, 57, 0, 53, 0, 90, 0, 91, 0, 92, 0, 90, 0, 92, 0, 93, 0, 90, 0, 93, 0, 94, 0, 90, 0, 94, 0, 57, 0, 94, 0, 61, 0, 57, 0, 94, 0, 63, 0, 61, 0, 94, 0, 0, 0, 63, 0, 0, 0, 1, 0, 63, 0, 94, 0, 95, 0, 0, 0, 0, 0, 95, 0, 64, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 5, 0, 53, 0, 61, 0, 53, 0, 45, 0, 49, 0, 53, 0, 37, 0, 45, 0, 5, 0, 37, 0, 53, 0, 45, 0, 37, 0, 41, 0, 37, 0, 33, 0, 35, 0, 37, 0, 29, 0, 33, 0, 37, 0, 21, 0, 29, 0, 37, 0, 5, 0, 21, 0, 29, 0, 21, 0, 25, 0, 21, 0, 5, 0, 13, 0, 13, 0, 5, 0, 9, 0, 21, 0, 13, 0, 17, 0, 112, 0, 111, 0, 113, 0, 109, 0, 111, 0, 110, 0, 108, 0, 111, 0, 109, 0, 107, 0, 111, 0, 108, 0, 107, 0, 104, 0, 111, 0, 106, 0, 104, 0, 107, 0, 105, 0, 104, 0, 106, 0, 102, 0, 104, 0, 103, 0, 101, 0, 104, 0, 102, 0, 101, 0, 99, 0, 104, 0, 100, 0, 99, 0, 101, 0, 104, 0, 160, 0, 157, 0, 104, 0, 163, 0, 160, 0, 104, 0, 157, 0, 154, 0, 99, 0, 165, 0, 163, 0, 99, 0, 168, 0, 165, 0, 104, 0, 99, 0, 163, 0, 111, 0, 104, 0, 154, 0, 99, 0, 170, 0, 168, 0, 170, 0, 171, 0, 168, 0, 97, 0, 170, 0, 99, 0, 97, 0, 99, 0, 98, 0, 96, 0, 170, 0, 97, 0, 111, 0, 154, 0, 152, 0, 111, 0, 152, 0, 151, 0, 111, 0, 151, 0, 150, 0, 111, 0, 150, 0, 191, 0, 113, 0, 111, 0, 191, 0, 113, 0, 191, 0, 190, 0, 113, 0, 190, 0, 189, 0, 118, 0, 113, 0, 189, 0, 118, 0, 189, 0, 188, 0, 118, 0, 188, 0, 186, 0, 118, 0, 186, 0, 185, 0, 118, 0, 185, 0, 183, 0, 114, 0, 113, 0, 115, 0, 115, 0, 113, 0, 118, 0, 115, 0, 118, 0, 116, 0, 116, 0, 118, 0, 117, 0, 122, 0, 118, 0, 183, 0, 119, 0, 118, 0, 122, 0, 122, 0, 183, 0, 182, 0, 119, 0, 122, 0, 120, 0, 120, 0, 122, 0, 121, 0, 122, 0, 182, 0, 180, 0, 122, 0, 180, 0, 179, 0, 122, 0, 179, 0, 177, 0, 123, 0, 122, 0, 177, 0, 123, 0, 177, 0, 176, 0, 125, 0, 123, 0, 176, 0, 124, 0, 123, 0, 125, 0, 125, 0, 176, 0, 175, 0, 125, 0, 175, 0, 174, 0, 127, 0, 125, 0, 174, 0, 126, 0, 125, 0, 127, 0, 127, 0, 174, 0, 172, 0, 170, 0, 127, 0, 172, 0, 127, 0, 170, 0, 96, 0, 170, 0, 172, 0, 171, 0, 152, 0, 150, 0, 151, 0, 150, 0, 190, 0, 191, 0, 152, 0, 190, 0, 150, 0, 190, 0, 188, 0, 189, 0, 190, 0, 185, 0, 188, 0, 152, 0, 185, 0, 190, 0, 188, 0, 185, 0, 186, 0, 157, 0, 152, 0, 154, 0, 163, 0, 152, 0, 157, 0, 163, 0, 157, 0, 160, 0, 152, 0, 174, 0, 185, 0, 174, 0, 152, 0, 163, 0, 168, 0, 163, 0, 165, 0, 174, 0, 163, 0, 168, 0, 174, 0, 168, 0, 171, 0, 174, 0, 171, 0, 172, 0, 185, 0, 182, 0, 183, 0, 185, 0, 179, 0, 182, 0, 185, 0, 174, 0, 179, 0, 182, 0, 179, 0, 180, 0, 179, 0, 174, 0, 176, 0, 176, 0, 174, 0, 175, 0, 179, 0, 176, 0, 177, 0), 0.154965, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 65, 0, 5, 0, 0, 0, 64, 0, 65, 0, 65, 0, 69, 0, 5, 0, 65, 0, 67, 0, 69, 0, 65, 0, 66, 0, 67, 0, 69, 0, 21, 0, 5, 0, 69, 0, 70, 0, 71, 0, 69, 0, 71, 0, 21, 0, 21, 0, 71, 0, 72, 0, 78, 0, 37, 0, 21, 0, 21, 0, 72, 0, 74, 0, 74, 0, 78, 0, 21, 0, 74, 0, 76, 0, 78, 0, 74, 0, 75, 0, 76, 0, 78, 0, 79, 0, 80, 0, 78, 0, 80, 0, 37, 0, 37, 0, 80, 0, 81, 0, 81, 0, 82, 0, 37, 0, 82, 0, 45, 0, 37, 0, 82, 0, 85, 0, 45, 0, 82, 0, 84, 0, 85, 0, 85, 0, 53, 0, 45, 0, 85, 0, 91, 0, 53, 0, 85, 0, 87, 0, 88, 0, 85, 0, 88, 0, 89, 0, 85, 0, 89, 0, 91, 0, 91, 0, 61, 0, 53, 0, 91, 0, 93, 0, 61, 0, 91, 0, 92, 0, 93, 0, 93, 0, 0, 0, 61, 0, 0, 0, 1, 0, 61, 0, 0, 0, 93, 0, 64, 0, 5, 0, 61, 0, 1, 0, 5, 0, 53, 0, 61, 0, 5, 0, 37, 0, 53, 0, 53, 0, 37, 0, 45, 0, 37, 0, 5, 0, 21, 0, 127, 0, 170, 0, 96, 0, 170, 0, 127, 0, 174, 0, 170, 0, 174, 0, 171, 0, 127, 0, 126, 0, 174, 0, 126, 0, 179, 0, 174, 0, 126, 0, 123, 0, 179, 0, 124, 0, 123, 0, 126, 0, 123, 0, 121, 0, 179, 0, 121, 0, 185, 0, 179, 0, 119, 0, 121, 0, 120, 0, 119, 0, 117, 0, 121, 0, 121, 0, 117, 0, 185, 0, 117, 0, 114, 0, 185, 0, 115, 0, 114, 0, 117, 0, 115, 0, 117, 0, 116, 0, 114, 0, 112, 0, 150, 0, 110, 0, 150, 0, 112, 0, 114, 0, 150, 0, 185, 0, 110, 0, 107, 0, 150, 0, 109, 0, 107, 0, 110, 0, 107, 0, 104, 0, 150, 0, 106, 0, 104, 0, 107, 0, 150, 0, 104, 0, 163, 0, 100, 0, 168, 0, 163, 0, 100, 0, 170, 0, 168, 0, 170, 0, 171, 0, 168, 0, 96, 0, 170, 0, 97, 0, 97, 0, 170, 0, 100, 0, 97, 0, 100, 0, 98, 0, 101, 0, 100, 0, 102, 0, 102, 0, 100, 0, 163, 0, 104, 0, 102, 0, 163, 0, 174, 0, 168, 0, 171, 0, 174, 0, 163, 0, 168, 0, 174, 0, 150, 0, 163, 0, 150, 0, 174, 0, 185, 0, 185, 0, 174, 0, 179, 0), 0.466953, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 66, 0, 5, 0, 0, 0, 64, 0, 66, 0, 66, 0, 70, 0, 5, 0, 5, 0, 70, 0, 72, 0, 72, 0, 80, 0, 5, 0, 80, 0, 37, 0, 5, 0, 80, 0, 84, 0, 45, 0, 84, 0, 89, 0, 93, 0, 93, 0, 61, 0, 45, 0, 0, 0, 1, 0, 61, 0, 93, 0, 0, 0, 61, 0, 0, 0, 93, 0, 64, 0, 80, 0, 45, 0, 37, 0, 84, 0, 93, 0, 45, 0, 5, 0, 61, 0, 1, 0, 5, 0, 45, 0, 61, 0, 5, 0, 37, 0, 45, 0, 127, 0, 170, 0, 96, 0, 127, 0, 124, 0, 179, 0, 124, 0, 120, 0, 179, 0, 120, 0, 185, 0, 179, 0, 120, 0, 116, 0, 185, 0, 116, 0, 114, 0, 185, 0, 114, 0, 150, 0, 185, 0, 170, 0, 179, 0, 171, 0, 170, 0, 127, 0, 179, 0, 110, 0, 106, 0, 150, 0, 150, 0, 106, 0, 163, 0, 114, 0, 110, 0, 150, 0, 170, 0, 171, 0, 163, 0, 101, 0, 170, 0, 163, 0, 98, 0, 170, 0, 101, 0, 96, 0, 170, 0, 98, 0, 106, 0, 101, 0, 163, 0, 179, 0, 163, 0, 171, 0, 179, 0, 150, 0, 163, 0, 150, 0, 179, 0, 185, 0), 0.972276, PackedByteArray(0, 0, 5, 0, 1, 0, 0, 0, 66, 0, 5, 0, 0, 0, 64, 0, 66, 0, 5, 0, 66, 0, 84, 0, 84, 0, 89, 0, 45, 0, 5, 0, 45, 0, 1, 0, 89, 0, 0, 0, 45, 0, 0, 0, 1, 0, 45, 0, 5, 0, 84, 0, 45, 0, 0, 0, 89, 0, 64, 0, 120, 0, 170, 0, 96, 0, 96, 0, 170, 0, 110, 0, 110, 0, 170, 0, 150, 0, 170, 0, 171, 0, 150, 0, 120, 0, 150, 0, 179, 0, 170, 0, 179, 0, 171, 0, 170, 0, 120, 0, 179, 0, 179, 0, 150, 0, 171, 0, 120, 0, 110, 0, 150, 0)],
+"primitive": 3,
+"vertex_count": 192,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191)
+}, {
+"aabb": AABB(-1, 3.1, -1, 2, 0.3, 2.00001),
+"format": 4097,
+"index_count": 192,
+"index_data": PackedByteArray(12, 0, 45, 0, 13, 0, 12, 0, 44, 0, 45, 0, 26, 0, 59, 0, 27, 0, 26, 0, 58, 0, 59, 0, 13, 0, 46, 0, 14, 0, 13, 0, 45, 0, 46, 0, 0, 0, 33, 0, 1, 0, 0, 0, 32, 0, 33, 0, 27, 0, 60, 0, 28, 0, 27, 0, 59, 0, 60, 0, 14, 0, 47, 0, 15, 0, 14, 0, 46, 0, 47, 0, 1, 0, 34, 0, 2, 0, 1, 0, 33, 0, 34, 0, 28, 0, 61, 0, 29, 0, 28, 0, 60, 0, 61, 0, 15, 0, 48, 0, 16, 0, 15, 0, 47, 0, 48, 0, 2, 0, 35, 0, 3, 0, 2, 0, 34, 0, 35, 0, 29, 0, 62, 0, 30, 0, 29, 0, 61, 0, 62, 0, 16, 0, 49, 0, 17, 0, 16, 0, 48, 0, 49, 0, 3, 0, 36, 0, 4, 0, 3, 0, 35, 0, 36, 0, 30, 0, 63, 0, 31, 0, 30, 0, 62, 0, 63, 0, 17, 0, 50, 0, 18, 0, 17, 0, 49, 0, 50, 0, 4, 0, 37, 0, 5, 0, 4, 0, 36, 0, 37, 0, 31, 0, 32, 0, 0, 0, 31, 0, 63, 0, 32, 0, 18, 0, 51, 0, 19, 0, 18, 0, 50, 0, 51, 0, 5, 0, 38, 0, 6, 0, 5, 0, 37, 0, 38, 0, 19, 0, 52, 0, 20, 0, 19, 0, 51, 0, 52, 0, 6, 0, 39, 0, 7, 0, 6, 0, 38, 0, 39, 0, 20, 0, 53, 0, 21, 0, 20, 0, 52, 0, 53, 0, 7, 0, 40, 0, 8, 0, 7, 0, 39, 0, 40, 0, 21, 0, 54, 0, 22, 0, 21, 0, 53, 0, 54, 0, 8, 0, 41, 0, 9, 0, 8, 0, 40, 0, 41, 0, 22, 0, 55, 0, 23, 0, 22, 0, 54, 0, 55, 0, 9, 0, 42, 0, 10, 0, 9, 0, 41, 0, 42, 0, 23, 0, 56, 0, 24, 0, 23, 0, 55, 0, 56, 0, 10, 0, 43, 0, 11, 0, 10, 0, 42, 0, 43, 0, 24, 0, 57, 0, 25, 0, 24, 0, 56, 0, 57, 0, 11, 0, 44, 0, 12, 0, 11, 0, 43, 0, 44, 0, 25, 0, 58, 0, 26, 0, 25, 0, 57, 0, 58, 0),
+"lods": [0.0279969, PackedByteArray(0, 0, 35, 0, 2, 0, 0, 0, 32, 0, 35, 0, 2, 0, 35, 0, 37, 0, 2, 0, 37, 0, 6, 0, 6, 0, 37, 0, 39, 0, 6, 0, 39, 0, 8, 0, 8, 0, 39, 0, 41, 0, 8, 0, 41, 0, 10, 0, 10, 0, 41, 0, 43, 0, 10, 0, 43, 0, 11, 0, 11, 0, 43, 0, 46, 0, 11, 0, 46, 0, 13, 0, 13, 0, 46, 0, 48, 0, 13, 0, 48, 0, 17, 0, 17, 0, 48, 0, 50, 0, 17, 0, 50, 0, 19, 0, 19, 0, 50, 0, 52, 0, 19, 0, 52, 0, 21, 0, 21, 0, 52, 0, 54, 0, 21, 0, 54, 0, 23, 0, 23, 0, 54, 0, 56, 0, 23, 0, 56, 0, 25, 0, 25, 0, 56, 0, 60, 0, 25, 0, 60, 0, 27, 0, 27, 0, 60, 0, 62, 0, 27, 0, 62, 0, 31, 0, 31, 0, 62, 0, 32, 0, 31, 0, 32, 0, 0, 0), 0.105563, PackedByteArray(0, 0, 35, 0, 6, 0, 0, 0, 32, 0, 35, 0, 6, 0, 35, 0, 43, 0, 6, 0, 43, 0, 10, 0, 10, 0, 43, 0, 46, 0, 10, 0, 46, 0, 17, 0, 17, 0, 46, 0, 54, 0, 17, 0, 54, 0, 21, 0, 21, 0, 54, 0, 56, 0, 21, 0, 56, 0, 25, 0, 25, 0, 56, 0, 60, 0, 25, 0, 60, 0, 27, 0, 27, 0, 60, 0, 32, 0, 27, 0, 32, 0, 0, 0), 0.486893, PackedByteArray(0, 0, 35, 0, 6, 0, 0, 0, 32, 0, 35, 0, 6, 0, 35, 0, 46, 0, 6, 0, 46, 0, 27, 0, 27, 0, 46, 0, 60, 0, 27, 0, 60, 0, 32, 0, 27, 0, 32, 0, 0, 0)],
+"primitive": 3,
+"vertex_count": 64,
+"vertex_data": PackedByteArray(63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_20bhj"]
resource_name = "teleport_Cone001"
-surfaces/0 = {
-"aabb": AABB( -1, 2.9, -1, 2, 0.7, 2.00001 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 0, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 60, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 193, 121, 57, 0, 0, 0, 56, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 0, 193, 115, 66, 0, 60, 0, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 130, 129, 28, 5, 54, 207, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 193, 121, 57, 0, 0, 102, 56, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 0, 193, 115, 66, 0, 60, 102, 56, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 11, 198, 126, 74, 0, 40, 0, 56, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 21, 0, 127, 52, 0, 40, 0, 56, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 0, 130, 129, 28, 190, 53, 154, 56, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 11, 198, 126, 74, 0, 40, 102, 56, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 21, 201, 126, 82, 0, 44, 0, 56, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 37, 0, 127, 44, 0, 44, 0, 56, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 0, 130, 129, 28, 141, 53, 95, 56, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 21, 201, 126, 82, 0, 44, 102, 56, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 29, 203, 126, 38, 0, 46, 0, 56, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 50, 0, 127, 38, 0, 46, 0, 56, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 0, 130, 129, 28, 116, 53, 32, 56, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 29, 203, 126, 38, 0, 46, 102, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 37, 204, 126, 31, 0, 48, 0, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 63, 0, 127, 31, 0, 48, 0, 56, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 0, 130, 129, 28, 116, 53, 191, 55, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 37, 204, 126, 31, 0, 48, 102, 56, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 44, 203, 126, 25, 0, 49, 0, 56, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 76, 0, 127, 25, 0, 49, 0, 56, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 0, 130, 129, 28, 141, 53, 65, 55, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 44, 203, 126, 25, 0, 49, 102, 56, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 50, 201, 126, 18, 0, 50, 0, 56, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 56, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 0, 130, 129, 28, 190, 53, 203, 54, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 50, 201, 126, 18, 0, 50, 102, 56, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 57, 198, 127, 10, 0, 51, 0, 56, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 105, 0, 127, 10, 0, 51, 0, 56, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 0, 130, 129, 28, 5, 54, 96, 54, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 57, 198, 127, 116, 0, 51, 102, 56, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 63, 193, 126, 126, 0, 52, 0, 56, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 126, 0, 127, 127, 0, 52, 0, 56, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 0, 130, 129, 28, 96, 54, 5, 54, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 63, 193, 126, 126, 0, 52, 102, 56, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 68, 187, 129, 116, 128, 52, 0, 56, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 126, 21, 129, 116, 128, 52, 0, 56, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 0, 130, 129, 28, 203, 54, 190, 53, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 68, 187, 130, 116, 128, 52, 102, 56, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 71, 180, 130, 108, 0, 53, 0, 56, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 56, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 0, 130, 129, 28, 65, 55, 141, 53, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 71, 180, 130, 108, 0, 53, 102, 56, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 73, 174, 130, 25, 128, 53, 0, 56, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 56, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 0, 130, 129, 28, 191, 55, 116, 53, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 73, 174, 130, 25, 128, 53, 102, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 74, 167, 130, 95, 0, 54, 0, 56, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 126, 193, 129, 95, 0, 54, 0, 56, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 0, 130, 129, 28, 32, 56, 116, 53, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 74, 167, 129, 31, 0, 54, 102, 56, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 73, 159, 130, 38, 128, 54, 0, 56, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 126, 180, 129, 38, 128, 54, 0, 56, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 0, 130, 129, 28, 95, 56, 141, 53, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 73, 159, 130, 38, 128, 54, 102, 56, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 71, 151, 130, 44, 0, 55, 0, 56, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 126, 167, 129, 44, 0, 55, 0, 56, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 0, 130, 129, 28, 154, 56, 190, 53, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 71, 151, 130, 44, 0, 55, 102, 56, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 68, 141, 130, 52, 128, 55, 0, 56, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 126, 151, 129, 52, 128, 55, 0, 56, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 0, 130, 129, 28, 207, 56, 5, 54, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 68, 141, 130, 52, 128, 55, 102, 56, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 193, 130, 129, 63, 0, 56, 0, 56, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 129, 129, 129, 63, 0, 56, 0, 56, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 0, 130, 129, 28, 253, 56, 96, 54, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 193, 129, 129, 63, 0, 56, 102, 56, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 56, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 188, 141, 151, 63, 64, 56, 0, 56, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 188, 141, 151, 63, 64, 56, 102, 56, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 0, 130, 129, 28, 32, 57, 203, 54, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 56, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 185, 151, 167, 63, 128, 56, 0, 56, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 185, 151, 167, 63, 128, 56, 102, 56, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 0, 130, 129, 28, 57, 57, 65, 55, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 130, 180, 180, 63, 192, 56, 0, 56, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 183, 159, 180, 63, 192, 56, 0, 56, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 183, 159, 180, 63, 192, 56, 102, 56, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 0, 130, 129, 28, 69, 57, 191, 55, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 130, 193, 193, 63, 0, 57, 0, 56, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 182, 167, 193, 63, 0, 57, 0, 56, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 182, 167, 193, 63, 0, 57, 102, 56, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 0, 130, 129, 28, 69, 57, 32, 56, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 130, 206, 206, 63, 63, 57, 0, 56, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 183, 174, 206, 63, 63, 57, 0, 56, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 183, 174, 206, 63, 64, 57, 102, 56, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 0, 130, 129, 28, 57, 57, 95, 56, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 130, 219, 219, 63, 128, 57, 0, 56, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 185, 180, 219, 63, 128, 57, 0, 56, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 185, 180, 219, 63, 128, 57, 102, 56, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 0, 130, 129, 28, 32, 57, 154, 56, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 130, 235, 235, 63, 192, 57, 0, 56, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 188, 187, 235, 63, 192, 57, 0, 56, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 188, 187, 235, 63, 192, 57, 102, 56, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 0, 130, 129, 28, 253, 56, 207, 56, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 130, 0, 0, 63, 0, 58, 0, 56, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 193, 193, 0, 63, 0, 58, 0, 56, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 193, 193, 0, 63, 0, 58, 102, 56, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 0, 130, 129, 28, 207, 56, 253, 56, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 56, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 199, 198, 21, 63, 64, 58, 0, 56, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 199, 198, 21, 63, 64, 58, 102, 56, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 0, 130, 129, 28, 154, 56, 32, 57, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 56, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 206, 201, 37, 63, 128, 58, 0, 56, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 206, 201, 37, 63, 128, 58, 102, 56, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 0, 130, 129, 28, 95, 56, 57, 57, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 56, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 212, 203, 50, 63, 191, 58, 0, 56, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 212, 203, 50, 63, 191, 58, 102, 56, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 0, 130, 129, 28, 32, 56, 69, 57, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 56, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 219, 204, 63, 63, 255, 58, 0, 56, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 219, 204, 63, 63, 0, 59, 102, 56, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 0, 130, 129, 28, 191, 55, 69, 57, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 56, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 227, 203, 76, 63, 64, 59, 0, 56, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 227, 203, 76, 63, 64, 59, 102, 56, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 0, 130, 129, 28, 65, 55, 57, 57, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 56, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 235, 201, 89, 63, 128, 59, 0, 56, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 235, 201, 89, 63, 128, 59, 102, 56, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 0, 130, 129, 28, 203, 54, 32, 57, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 56, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 245, 198, 105, 63, 192, 59, 0, 56, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 245, 198, 105, 63, 192, 59, 102, 56, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 0, 130, 129, 28, 96, 54, 253, 56, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 0, 51, 55, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 60, 51, 55, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 21, 0, 127, 52, 0, 40, 51, 55, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 37, 0, 127, 44, 0, 44, 51, 55, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 50, 0, 127, 38, 0, 46, 51, 55, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 63, 0, 127, 31, 0, 48, 51, 55, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 0, 127, 25, 0, 49, 51, 55, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 89, 0, 127, 18, 0, 50, 51, 55, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 105, 0, 127, 10, 0, 51, 51, 55, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 126, 0, 129, 127, 0, 52, 51, 55, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 126, 21, 129, 116, 128, 52, 51, 55, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 126, 37, 129, 108, 0, 53, 51, 55, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 126, 50, 129, 101, 128, 53, 51, 55, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 126, 193, 129, 95, 0, 54, 51, 55, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 126, 180, 129, 88, 128, 54, 51, 55, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 126, 167, 129, 44, 0, 55, 51, 55, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 126, 151, 129, 74, 128, 55, 51, 55, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 51, 55, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 130, 151, 151, 63, 64, 56, 51, 55, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 130, 167, 167, 63, 128, 56, 51, 55, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 130, 180, 180, 63, 192, 56, 51, 55, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 130, 193, 193, 63, 0, 57, 51, 55, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 130, 206, 206, 63, 63, 57, 51, 55, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 130, 219, 219, 63, 128, 57, 51, 55, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 130, 235, 235, 63, 192, 57, 51, 55, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 130, 0, 0, 63, 0, 58, 51, 55, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 151, 0, 21, 63, 64, 58, 51, 55, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 167, 0, 37, 63, 128, 58, 51, 55, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 180, 0, 50, 63, 191, 58, 51, 55, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 193, 0, 63, 63, 255, 58, 51, 55, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 206, 0, 76, 63, 64, 59, 51, 55, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 51, 55, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 235, 0, 105, 63, 192, 59, 51, 55, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 0, 102, 56, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 60, 102, 56, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 21, 0, 127, 74, 0, 40, 102, 56, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 37, 0, 127, 44, 0, 44, 102, 56, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 50, 0, 127, 38, 0, 46, 102, 56, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 63, 0, 127, 31, 0, 48, 102, 56, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 76, 0, 127, 101, 0, 49, 102, 56, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 89, 0, 127, 18, 0, 50, 102, 56, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 105, 0, 127, 116, 0, 51, 102, 56, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 126, 0, 129, 1, 0, 52, 102, 56, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 126, 235, 129, 10, 128, 52, 102, 56, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 126, 37, 129, 108, 0, 53, 102, 56, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 127, 206, 129, 25, 128, 53, 102, 56, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 127, 193, 129, 95, 0, 54, 102, 56, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 102, 56, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 102, 56, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 102, 56, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 129, 130, 129, 63, 0, 56, 102, 56, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 102, 56, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 130, 167, 167, 63, 128, 56, 102, 56, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 129, 180, 180, 63, 192, 56, 102, 56, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 130, 63, 193, 63, 0, 57, 102, 56, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 102, 56, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 130, 37, 219, 63, 127, 57, 102, 56, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 130, 21, 235, 63, 192, 57, 102, 56, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 129, 0, 0, 63, 0, 58, 102, 56, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 151, 0, 21, 63, 64, 58, 102, 56, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 167, 0, 37, 63, 128, 58, 102, 56, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 102, 56, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 102, 56, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 102, 56, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 219, 0, 89, 63, 128, 59, 102, 56, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 102, 56, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 11, 58, 126, 74, 0, 40, 0, 56, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 21, 0, 127, 74, 0, 40, 0, 56, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 29, 53, 126, 88, 0, 46, 0, 56, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 50, 0, 127, 88, 0, 46, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 37, 52, 126, 95, 0, 48, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 63, 0, 127, 95, 0, 48, 0, 56, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 44, 53, 127, 25, 0, 49, 0, 56, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 76, 0, 127, 101, 0, 49, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 57, 58, 126, 10, 0, 51, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 105, 0, 127, 116, 0, 51, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 68, 69, 130, 10, 128, 52, 0, 56, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 126, 235, 129, 10, 128, 52, 0, 56, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 73, 82, 130, 25, 128, 53, 0, 56, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 74, 89, 130, 95, 0, 54, 0, 56, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 127, 63, 129, 95, 0, 54, 0, 56, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 73, 97, 130, 88, 128, 54, 0, 56, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 0, 56, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 71, 105, 129, 82, 0, 55, 0, 56, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 0, 56, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 68, 115, 130, 74, 128, 55, 0, 56, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 0, 56, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 0, 56, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 63, 126, 130, 63, 0, 56, 0, 56, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 56, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 188, 115, 151, 63, 64, 56, 0, 56, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 129, 89, 167, 63, 128, 56, 0, 56, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 185, 105, 167, 63, 128, 56, 0, 56, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 130, 76, 180, 63, 192, 56, 0, 56, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 183, 97, 180, 63, 192, 56, 0, 56, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 0, 56, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 183, 82, 206, 63, 63, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 130, 21, 235, 63, 192, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 188, 69, 235, 63, 192, 57, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 56, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 199, 58, 21, 63, 64, 58, 0, 56, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 56, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 212, 53, 50, 63, 191, 58, 0, 56, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 56, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 219, 52, 63, 63, 255, 58, 0, 56, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 56, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 227, 53, 76, 63, 64, 59, 0, 56, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 56, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 245, 58, 105, 63, 192, 59, 0, 56, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 0, 126, 212, 63, 190, 53, 154, 56, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 63, 126, 130, 63, 0, 56, 51, 55, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 0, 126, 212, 63, 141, 53, 95, 56, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 68, 115, 130, 74, 128, 55, 51, 55, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 0, 126, 212, 63, 116, 53, 32, 56, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 71, 105, 130, 44, 0, 55, 51, 55, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 0, 126, 212, 63, 116, 53, 191, 55, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 73, 97, 130, 88, 127, 54, 51, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 0, 126, 212, 63, 141, 53, 65, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 74, 89, 130, 95, 0, 54, 51, 55, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 0, 126, 212, 63, 190, 53, 203, 54, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 73, 82, 130, 25, 128, 53, 51, 55, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 71, 76, 130, 18, 0, 53, 0, 56, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 56, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 0, 126, 212, 63, 5, 54, 96, 54, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 71, 76, 130, 18, 0, 53, 51, 55, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 0, 126, 212, 63, 96, 54, 5, 54, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 68, 69, 130, 10, 128, 52, 51, 55, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 63, 63, 130, 126, 255, 51, 0, 56, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 126, 0, 127, 1, 255, 51, 0, 56, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 0, 126, 212, 63, 203, 54, 190, 53, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 63, 63, 130, 126, 255, 51, 51, 55, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 0, 126, 212, 63, 65, 55, 141, 53, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 57, 58, 126, 10, 0, 51, 51, 55, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 50, 55, 126, 108, 0, 50, 0, 56, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 56, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 0, 126, 212, 63, 191, 55, 116, 53, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 50, 55, 126, 108, 0, 50, 51, 55, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 0, 126, 212, 63, 32, 56, 116, 53, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 44, 53, 126, 101, 0, 49, 51, 55, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 0, 126, 212, 63, 95, 56, 141, 53, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 37, 52, 126, 95, 0, 48, 51, 55, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 0, 126, 212, 63, 154, 56, 190, 53, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 29, 53, 126, 88, 0, 46, 51, 55, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 21, 55, 126, 82, 0, 44, 0, 56, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 37, 0, 127, 44, 0, 44, 0, 56, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 0, 126, 212, 63, 207, 56, 5, 54, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 21, 55, 126, 82, 0, 44, 51, 55, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 0, 126, 212, 63, 253, 56, 96, 54, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 11, 58, 126, 74, 0, 40, 51, 55, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 63, 121, 69, 0, 0, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 63, 115, 60, 0, 60, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 0, 0, 56, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 0, 0, 126, 63, 0, 60, 0, 56, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 126, 212, 63, 32, 57, 203, 54, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 63, 121, 69, 0, 0, 51, 55, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 0, 63, 115, 60, 0, 60, 51, 55, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 245, 58, 105, 63, 192, 59, 51, 55, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 0, 126, 212, 63, 57, 57, 65, 55, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 56, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 235, 55, 89, 63, 128, 59, 0, 56, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 235, 55, 89, 63, 128, 59, 51, 55, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 0, 126, 212, 63, 69, 57, 191, 55, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 227, 53, 76, 63, 64, 59, 51, 55, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 0, 126, 212, 63, 69, 57, 32, 56, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 219, 52, 63, 63, 0, 59, 51, 55, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 0, 126, 212, 63, 57, 57, 95, 56, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 212, 53, 50, 63, 192, 58, 51, 55, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 0, 126, 212, 63, 32, 57, 154, 56, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 56, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 206, 55, 37, 63, 128, 58, 0, 56, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 206, 55, 37, 63, 128, 58, 51, 55, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 0, 126, 212, 63, 253, 56, 207, 56, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 199, 58, 21, 63, 64, 58, 51, 55, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 0, 126, 212, 63, 207, 56, 253, 56, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 129, 0, 0, 63, 0, 58, 0, 56, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 193, 63, 0, 63, 0, 58, 0, 56, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 193, 63, 0, 63, 0, 58, 51, 55, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 0, 126, 212, 63, 154, 56, 32, 57, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 188, 69, 235, 63, 192, 57, 51, 55, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 0, 126, 212, 63, 95, 56, 57, 57, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 130, 37, 219, 63, 128, 57, 0, 56, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 185, 76, 219, 63, 128, 57, 0, 56, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 185, 76, 219, 63, 128, 57, 51, 55, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 0, 126, 212, 63, 32, 56, 69, 57, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 183, 82, 206, 63, 64, 57, 51, 55, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 0, 126, 212, 63, 191, 55, 69, 57, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 130, 63, 193, 63, 0, 57, 0, 56, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 182, 89, 193, 63, 0, 57, 0, 56, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 182, 89, 193, 63, 0, 57, 51, 55, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 0, 126, 212, 63, 65, 55, 57, 57, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 183, 97, 180, 63, 192, 56, 51, 55, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 0, 126, 212, 63, 203, 54, 32, 57, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 185, 105, 167, 63, 128, 56, 51, 55, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 0, 126, 212, 63, 96, 54, 253, 56, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 188, 115, 151, 63, 64, 56, 51, 55, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 0, 126, 212, 63, 5, 54, 207, 56 ),
-"array_index_data": PoolByteArray( 2, 0, 10, 0, 5, 0, 2, 0, 7, 0, 10, 0, 7, 0, 14, 0, 10, 0, 7, 0, 11, 0, 14, 0, 11, 0, 18, 0, 14, 0, 11, 0, 15, 0, 18, 0, 15, 0, 22, 0, 18, 0, 15, 0, 19, 0, 22, 0, 19, 0, 26, 0, 22, 0, 19, 0, 23, 0, 26, 0, 23, 0, 30, 0, 26, 0, 23, 0, 27, 0, 30, 0, 27, 0, 34, 0, 30, 0, 27, 0, 31, 0, 34, 0, 31, 0, 38, 0, 34, 0, 31, 0, 35, 0, 38, 0, 35, 0, 42, 0, 38, 0, 35, 0, 39, 0, 42, 0, 39, 0, 46, 0, 42, 0, 39, 0, 43, 0, 46, 0, 43, 0, 50, 0, 46, 0, 43, 0, 47, 0, 50, 0, 47, 0, 54, 0, 50, 0, 47, 0, 51, 0, 54, 0, 51, 0, 58, 0, 54, 0, 51, 0, 55, 0, 58, 0, 55, 0, 62, 0, 58, 0, 55, 0, 59, 0, 62, 0, 59, 0, 66, 0, 62, 0, 59, 0, 63, 0, 66, 0, 63, 0, 70, 0, 66, 0, 63, 0, 67, 0, 70, 0, 67, 0, 73, 0, 70, 0, 67, 0, 72, 0, 73, 0, 72, 0, 77, 0, 73, 0, 72, 0, 76, 0, 77, 0, 76, 0, 81, 0, 77, 0, 76, 0, 80, 0, 81, 0, 80, 0, 85, 0, 81, 0, 80, 0, 84, 0, 85, 0, 84, 0, 89, 0, 85, 0, 84, 0, 88, 0, 89, 0, 88, 0, 93, 0, 89, 0, 88, 0, 92, 0, 93, 0, 92, 0, 97, 0, 93, 0, 92, 0, 96, 0, 97, 0, 96, 0, 101, 0, 97, 0, 96, 0, 100, 0, 101, 0, 100, 0, 105, 0, 101, 0, 100, 0, 104, 0, 105, 0, 104, 0, 109, 0, 105, 0, 104, 0, 108, 0, 109, 0, 108, 0, 113, 0, 109, 0, 108, 0, 112, 0, 113, 0, 112, 0, 117, 0, 113, 0, 112, 0, 116, 0, 117, 0, 116, 0, 121, 0, 117, 0, 116, 0, 120, 0, 121, 0, 120, 0, 125, 0, 121, 0, 120, 0, 124, 0, 125, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 126, 0, 118, 0, 122, 0, 118, 0, 110, 0, 114, 0, 110, 0, 102, 0, 106, 0, 102, 0, 94, 0, 98, 0, 94, 0, 86, 0, 90, 0, 86, 0, 78, 0, 82, 0, 78, 0, 69, 0, 74, 0, 69, 0, 61, 0, 65, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 110, 0, 94, 0, 102, 0, 94, 0, 78, 0, 86, 0, 78, 0, 61, 0, 69, 0, 61, 0, 45, 0, 53, 0, 45, 0, 29, 0, 37, 0, 29, 0, 13, 0, 21, 0, 13, 0, 110, 0, 126, 0, 110, 0, 78, 0, 94, 0, 78, 0, 45, 0, 61, 0, 45, 0, 13, 0, 29, 0, 13, 0, 78, 0, 110, 0, 78, 0, 13, 0, 45, 0, 124, 0, 129, 0, 125, 0, 124, 0, 128, 0, 129, 0, 128, 0, 6, 0, 129, 0, 128, 0, 3, 0, 6, 0, 103, 0, 158, 0, 107, 0, 103, 0, 157, 0, 158, 0, 16, 0, 136, 0, 20, 0, 16, 0, 135, 0, 136, 0, 52, 0, 145, 0, 56, 0, 52, 0, 144, 0, 145, 0, 87, 0, 154, 0, 91, 0, 87, 0, 153, 0, 154, 0, 123, 0, 163, 0, 127, 0, 123, 0, 162, 0, 163, 0, 36, 0, 141, 0, 40, 0, 36, 0, 140, 0, 141, 0, 71, 0, 150, 0, 75, 0, 71, 0, 149, 0, 150, 0, 107, 0, 159, 0, 111, 0, 107, 0, 158, 0, 159, 0, 20, 0, 137, 0, 24, 0, 20, 0, 136, 0, 137, 0, 56, 0, 146, 0, 60, 0, 56, 0, 145, 0, 146, 0, 91, 0, 155, 0, 95, 0, 91, 0, 154, 0, 155, 0, 0, 0, 133, 0, 8, 0, 0, 0, 131, 0, 133, 0, 127, 0, 132, 0, 1, 0, 127, 0, 163, 0, 132, 0, 40, 0, 142, 0, 44, 0, 40, 0, 141, 0, 142, 0, 75, 0, 151, 0, 79, 0, 75, 0, 150, 0, 151, 0, 111, 0, 160, 0, 115, 0, 111, 0, 159, 0, 160, 0, 24, 0, 138, 0, 28, 0, 24, 0, 137, 0, 138, 0, 60, 0, 147, 0, 64, 0, 60, 0, 146, 0, 147, 0, 95, 0, 156, 0, 99, 0, 95, 0, 155, 0, 156, 0, 8, 0, 134, 0, 12, 0, 8, 0, 133, 0, 134, 0, 44, 0, 143, 0, 48, 0, 44, 0, 142, 0, 143, 0, 79, 0, 152, 0, 83, 0, 79, 0, 151, 0, 152, 0, 115, 0, 161, 0, 119, 0, 115, 0, 160, 0, 161, 0, 28, 0, 139, 0, 32, 0, 28, 0, 138, 0, 139, 0, 64, 0, 148, 0, 68, 0, 64, 0, 147, 0, 148, 0, 99, 0, 157, 0, 103, 0, 99, 0, 156, 0, 157, 0, 12, 0, 135, 0, 16, 0, 12, 0, 134, 0, 135, 0, 48, 0, 144, 0, 52, 0, 48, 0, 143, 0, 144, 0, 83, 0, 153, 0, 87, 0, 83, 0, 152, 0, 153, 0, 119, 0, 162, 0, 123, 0, 119, 0, 161, 0, 162, 0, 32, 0, 140, 0, 36, 0, 32, 0, 139, 0, 140, 0, 68, 0, 149, 0, 71, 0, 68, 0, 148, 0, 149, 0, 180, 0, 219, 0, 181, 0, 180, 0, 218, 0, 219, 0, 167, 0, 200, 0, 168, 0, 167, 0, 20, 1, 200, 0, 194, 0, 34, 1, 195, 0, 194, 0, 237, 0, 34, 1, 181, 0, 221, 0, 182, 0, 181, 0, 219, 0, 221, 0, 168, 0, 202, 0, 169, 0, 168, 0, 200, 0, 202, 0, 195, 0, 239, 0, 196, 0, 195, 0, 34, 1, 239, 0, 182, 0, 223, 0, 183, 0, 182, 0, 221, 0, 223, 0, 169, 0, 204, 0, 170, 0, 169, 0, 202, 0, 204, 0, 196, 0, 28, 1, 165, 0, 196, 0, 239, 0, 28, 1, 183, 0, 225, 0, 184, 0, 183, 0, 223, 0, 225, 0, 170, 0, 10, 1, 171, 0, 170, 0, 204, 0, 10, 1, 184, 0, 62, 1, 185, 0, 184, 0, 225, 0, 62, 1, 171, 0, 206, 0, 172, 0, 171, 0, 10, 1, 206, 0, 185, 0, 227, 0, 186, 0, 185, 0, 62, 1, 227, 0, 172, 0, 4, 1, 173, 0, 172, 0, 206, 0, 4, 1, 186, 0, 56, 1, 187, 0, 186, 0, 227, 0, 56, 1, 173, 0, 208, 0, 174, 0, 173, 0, 4, 1, 208, 0, 187, 0, 229, 0, 188, 0, 187, 0, 56, 1, 229, 0, 174, 0, 254, 0, 175, 0, 174, 0, 208, 0, 254, 0, 188, 0, 50, 1, 189, 0, 188, 0, 229, 0, 50, 1, 175, 0, 210, 0, 176, 0, 175, 0, 254, 0, 210, 0, 189, 0, 231, 0, 190, 0, 189, 0, 50, 1, 231, 0, 176, 0, 212, 0, 177, 0, 176, 0, 210, 0, 212, 0, 190, 0, 44, 1, 191, 0, 190, 0, 231, 0, 44, 1, 177, 0, 214, 0, 178, 0, 177, 0, 212, 0, 214, 0, 191, 0, 233, 0, 192, 0, 191, 0, 44, 1, 233, 0, 178, 0, 216, 0, 179, 0, 178, 0, 214, 0, 216, 0, 164, 0, 198, 0, 166, 0, 164, 0, 27, 1, 198, 0, 192, 0, 235, 0, 193, 0, 192, 0, 233, 0, 235, 0, 179, 0, 218, 0, 180, 0, 179, 0, 216, 0, 218, 0, 166, 0, 20, 1, 167, 0, 166, 0, 198, 0, 20, 1, 193, 0, 237, 0, 194, 0, 193, 0, 235, 0, 237, 0, 220, 0, 244, 0, 242, 0, 220, 0, 217, 0, 244, 0, 217, 0, 246, 0, 244, 0, 217, 0, 215, 0, 246, 0, 215, 0, 248, 0, 246, 0, 215, 0, 213, 0, 248, 0, 213, 0, 250, 0, 248, 0, 213, 0, 211, 0, 250, 0, 211, 0, 252, 0, 250, 0, 211, 0, 209, 0, 252, 0, 209, 0, 0, 1, 252, 0, 209, 0, 253, 0, 0, 1, 253, 0, 2, 1, 0, 1, 253, 0, 207, 0, 2, 1, 207, 0, 6, 1, 2, 1, 207, 0, 3, 1, 6, 1, 3, 1, 8, 1, 6, 1, 3, 1, 205, 0, 8, 1, 205, 0, 12, 1, 8, 1, 205, 0, 9, 1, 12, 1, 9, 1, 14, 1, 12, 1, 9, 1, 203, 0, 14, 1, 203, 0, 16, 1, 14, 1, 203, 0, 201, 0, 16, 1, 201, 0, 18, 1, 16, 1, 201, 0, 199, 0, 18, 1, 199, 0, 22, 1, 18, 1, 199, 0, 19, 1, 22, 1, 19, 1, 24, 1, 22, 1, 19, 1, 197, 0, 24, 1, 197, 0, 30, 1, 24, 1, 197, 0, 25, 1, 30, 1, 26, 1, 32, 1, 31, 1, 26, 1, 240, 0, 32, 1, 240, 0, 36, 1, 32, 1, 240, 0, 35, 1, 36, 1, 35, 1, 38, 1, 36, 1, 35, 1, 238, 0, 38, 1, 238, 0, 40, 1, 38, 1, 238, 0, 236, 0, 40, 1, 236, 0, 42, 1, 40, 1, 236, 0, 234, 0, 42, 1, 234, 0, 46, 1, 42, 1, 234, 0, 45, 1, 46, 1, 45, 1, 48, 1, 46, 1, 45, 1, 232, 0, 48, 1, 232, 0, 52, 1, 48, 1, 232, 0, 51, 1, 52, 1, 51, 1, 54, 1, 52, 1, 51, 1, 230, 0, 54, 1, 230, 0, 58, 1, 54, 1, 230, 0, 57, 1, 58, 1, 57, 1, 60, 1, 58, 1, 57, 1, 228, 0, 60, 1, 228, 0, 64, 1, 60, 1, 228, 0, 63, 1, 64, 1, 63, 1, 66, 1, 64, 1, 63, 1, 226, 0, 66, 1, 226, 0, 68, 1, 66, 1, 226, 0, 224, 0, 68, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 69, 1, 65, 1, 67, 1, 65, 1, 59, 1, 61, 1, 59, 1, 53, 1, 55, 1, 53, 1, 47, 1, 49, 1, 47, 1, 41, 1, 43, 1, 41, 1, 37, 1, 39, 1, 37, 1, 29, 1, 33, 1, 29, 1, 21, 1, 23, 1, 21, 1, 15, 1, 17, 1, 15, 1, 11, 1, 13, 1, 11, 1, 5, 1, 7, 1, 5, 1, 255, 0, 1, 1, 255, 0, 249, 0, 251, 0, 249, 0, 245, 0, 247, 0, 245, 0, 69, 1, 241, 0, 69, 1, 59, 1, 65, 1, 59, 1, 47, 1, 53, 1, 47, 1, 37, 1, 41, 1, 37, 1, 21, 1, 29, 1, 21, 1, 11, 1, 15, 1, 11, 1, 255, 0, 5, 1, 255, 0, 245, 0, 249, 0, 245, 0, 59, 1, 69, 1, 59, 1, 37, 1, 47, 1, 37, 1, 11, 1, 21, 1, 11, 1, 245, 0, 255, 0, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 224, 0, 70, 1, 68, 1, 224, 0, 222, 0, 70, 1, 222, 0, 242, 0, 70, 1, 222, 0, 220, 0, 242, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-1, 2.9, -1, 2, 0.7, 2.00001),
+"attribute_data": PackedByteArray(0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 100, 180, 192, 62, 251, 248, 25, 63, 0, 0, 0, 0, 214, 204, 12, 63, 0, 0, 128, 63, 214, 204, 12, 63, 0, 0, 0, 61, 8, 0, 0, 63, 0, 0, 0, 61, 8, 0, 0, 63, 109, 201, 183, 62, 160, 76, 19, 63, 0, 0, 0, 61, 214, 204, 12, 63, 4, 0, 128, 61, 8, 0, 0, 63, 4, 0, 128, 61, 8, 0, 0, 63, 232, 164, 177, 62, 108, 226, 11, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 192, 61, 8, 0, 0, 63, 0, 0, 192, 61, 8, 0, 0, 63, 62, 131, 174, 62, 79, 3, 4, 63, 0, 0, 192, 61, 214, 204, 12, 63, 0, 0, 0, 62, 10, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 61, 131, 174, 62, 98, 249, 247, 62, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 228, 164, 177, 62, 44, 59, 232, 62, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 10, 0, 0, 63, 0, 0, 64, 62, 10, 0, 0, 63, 112, 201, 183, 62, 180, 102, 217, 62, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 94, 180, 192, 62, 12, 14, 204, 62, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 10, 0, 0, 63, 0, 0, 128, 62, 10, 0, 0, 63, 12, 14, 204, 62, 96, 180, 192, 62, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 186, 102, 217, 62, 110, 201, 183, 62, 0, 0, 144, 62, 216, 204, 12, 63, 0, 0, 160, 62, 10, 0, 0, 63, 0, 0, 160, 62, 10, 0, 0, 63, 34, 59, 232, 62, 232, 164, 177, 62, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 91, 249, 247, 62, 62, 131, 174, 62, 0, 0, 176, 62, 216, 204, 12, 63, 0, 0, 192, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 77, 3, 4, 63, 62, 131, 174, 62, 0, 0, 192, 62, 216, 204, 12, 63, 0, 0, 208, 62, 12, 0, 0, 63, 0, 0, 208, 62, 12, 0, 0, 63, 103, 226, 11, 63, 230, 164, 177, 62, 0, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 162, 76, 19, 63, 112, 201, 183, 62, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 245, 248, 25, 63, 94, 180, 192, 62, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 204, 165, 31, 63, 12, 14, 204, 62, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 216, 204, 12, 63, 68, 27, 36, 63, 176, 102, 217, 62, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 216, 204, 12, 63, 138, 45, 39, 63, 38, 59, 232, 62, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 216, 204, 12, 63, 96, 190, 40, 63, 104, 249, 247, 62, 0, 0, 32, 63, 10, 0, 0, 63, 0, 0, 32, 63, 10, 0, 0, 63, 0, 0, 32, 63, 216, 204, 12, 63, 96, 190, 40, 63, 78, 3, 4, 63, 255, 255, 39, 63, 10, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 0, 0, 40, 63, 216, 204, 12, 63, 141, 45, 39, 63, 102, 226, 11, 63, 0, 0, 48, 63, 10, 0, 0, 63, 0, 0, 48, 63, 10, 0, 0, 63, 0, 0, 48, 63, 216, 204, 12, 63, 71, 27, 36, 63, 163, 76, 19, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 216, 204, 12, 63, 204, 165, 31, 63, 251, 248, 25, 63, 0, 0, 64, 63, 10, 0, 0, 63, 0, 0, 64, 63, 10, 0, 0, 63, 0, 0, 64, 63, 214, 204, 12, 63, 246, 248, 25, 63, 208, 165, 31, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 214, 204, 12, 63, 157, 76, 19, 63, 74, 27, 36, 63, 0, 0, 80, 63, 10, 0, 0, 63, 0, 0, 80, 63, 10, 0, 0, 63, 0, 0, 80, 63, 214, 204, 12, 63, 107, 226, 11, 63, 140, 45, 39, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 214, 204, 12, 63, 77, 3, 4, 63, 96, 190, 40, 63, 255, 255, 95, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 0, 0, 96, 63, 214, 204, 12, 63, 95, 249, 247, 62, 97, 190, 40, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 214, 204, 12, 63, 27, 59, 232, 62, 138, 45, 39, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 214, 204, 12, 63, 182, 102, 217, 62, 72, 27, 36, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 214, 204, 12, 63, 7, 14, 204, 62, 205, 165, 31, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 0, 0, 0, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 144, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 1, 0, 208, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 24, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 48, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 80, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 112, 63, 120, 102, 230, 62, 0, 0, 120, 63, 120, 102, 230, 62, 0, 0, 0, 0, 212, 204, 12, 63, 0, 0, 128, 63, 212, 204, 12, 63, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 4, 0, 192, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 0, 0, 192, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 255, 255, 47, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 104, 63, 212, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 0, 61, 8, 0, 0, 63, 0, 0, 0, 61, 8, 0, 0, 63, 4, 0, 192, 61, 8, 0, 0, 63, 4, 0, 192, 61, 8, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 0, 0, 0, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 2, 0, 32, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 96, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 144, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 176, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 0, 0, 192, 62, 10, 0, 0, 63, 1, 0, 208, 62, 12, 0, 0, 63, 1, 0, 208, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 224, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 240, 62, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 0, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 8, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 16, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 0, 0, 24, 63, 12, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 255, 255, 39, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 56, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 0, 0, 72, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 87, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 255, 255, 95, 63, 10, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 104, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 0, 0, 120, 63, 8, 0, 0, 63, 110, 201, 183, 62, 163, 76, 19, 63, 0, 0, 0, 63, 120, 102, 230, 62, 230, 164, 177, 62, 107, 226, 11, 63, 0, 0, 240, 62, 120, 102, 230, 62, 62, 131, 174, 62, 76, 3, 4, 63, 0, 0, 224, 62, 120, 102, 230, 62, 61, 131, 174, 62, 104, 249, 247, 62, 255, 255, 207, 62, 120, 102, 230, 62, 234, 164, 177, 62, 32, 59, 232, 62, 0, 0, 192, 62, 120, 102, 230, 62, 114, 201, 183, 62, 178, 102, 217, 62, 0, 0, 176, 62, 120, 102, 230, 62, 0, 0, 160, 62, 8, 0, 0, 63, 0, 0, 160, 62, 8, 0, 0, 63, 102, 180, 192, 62, 8, 14, 204, 62, 0, 0, 160, 62, 120, 102, 230, 62, 4, 14, 204, 62, 104, 180, 192, 62, 0, 0, 144, 62, 120, 102, 230, 62, 254, 255, 127, 62, 8, 0, 0, 63, 254, 255, 127, 62, 8, 0, 0, 63, 186, 102, 217, 62, 112, 201, 183, 62, 254, 255, 127, 62, 120, 102, 230, 62, 37, 59, 232, 62, 232, 164, 177, 62, 0, 0, 96, 62, 120, 102, 230, 62, 0, 0, 64, 62, 8, 0, 0, 63, 0, 0, 64, 62, 8, 0, 0, 63, 101, 249, 247, 62, 64, 131, 174, 62, 0, 0, 64, 62, 120, 102, 230, 62, 75, 3, 4, 63, 62, 131, 174, 62, 2, 0, 32, 62, 120, 102, 230, 62, 109, 226, 11, 63, 234, 164, 177, 62, 0, 0, 0, 62, 120, 102, 230, 62, 156, 76, 19, 63, 108, 201, 183, 62, 0, 0, 192, 61, 120, 102, 230, 62, 4, 0, 128, 61, 8, 0, 0, 63, 4, 0, 128, 61, 8, 0, 0, 63, 250, 248, 25, 63, 104, 180, 192, 62, 4, 0, 128, 61, 120, 102, 230, 62, 201, 165, 31, 63, 4, 14, 204, 62, 0, 0, 0, 61, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 71, 27, 36, 63, 188, 102, 217, 62, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 120, 63, 120, 102, 230, 62, 136, 45, 39, 63, 28, 59, 232, 62, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 8, 0, 0, 63, 0, 0, 112, 63, 120, 102, 230, 62, 96, 190, 40, 63, 106, 249, 247, 62, 0, 0, 104, 63, 120, 102, 230, 62, 96, 190, 40, 63, 81, 3, 4, 63, 0, 0, 96, 63, 120, 102, 230, 62, 138, 45, 39, 63, 111, 226, 11, 63, 1, 0, 88, 63, 120, 102, 230, 62, 71, 27, 36, 63, 163, 76, 19, 63, 0, 0, 80, 63, 8, 0, 0, 63, 0, 0, 80, 63, 8, 0, 0, 63, 0, 0, 80, 63, 120, 102, 230, 62, 204, 165, 31, 63, 252, 248, 25, 63, 0, 0, 72, 63, 120, 102, 230, 62, 248, 248, 25, 63, 207, 165, 31, 63, 0, 0, 64, 63, 8, 0, 0, 63, 0, 0, 64, 63, 8, 0, 0, 63, 0, 0, 64, 63, 120, 102, 230, 62, 157, 76, 19, 63, 75, 27, 36, 63, 0, 0, 56, 63, 120, 102, 230, 62, 103, 226, 11, 63, 141, 45, 39, 63, 0, 0, 48, 63, 8, 0, 0, 63, 0, 0, 48, 63, 8, 0, 0, 63, 0, 0, 48, 63, 120, 102, 230, 62, 75, 3, 4, 63, 96, 190, 40, 63, 0, 0, 40, 63, 120, 102, 230, 62, 98, 249, 247, 62, 97, 190, 40, 63, 0, 0, 32, 63, 8, 0, 0, 63, 0, 0, 32, 63, 8, 0, 0, 63, 0, 0, 32, 63, 120, 102, 230, 62, 28, 59, 232, 62, 139, 45, 39, 63, 0, 0, 24, 63, 120, 102, 230, 62, 183, 102, 217, 62, 72, 27, 36, 63, 0, 0, 16, 63, 120, 102, 230, 62, 7, 14, 204, 62, 205, 165, 31, 63, 0, 0, 8, 63, 120, 102, 230, 62, 98, 180, 192, 62, 250, 248, 25, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 0, 0, 212, 204, 12, 63, 0, 0, 128, 63, 212, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 4, 0, 128, 61, 214, 204, 12, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 48, 63, 216, 204, 12, 63, 0, 0, 112, 63, 214, 204, 12, 63, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 4, 0, 128, 61, 212, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 0, 0, 120, 102, 230, 62, 0, 0, 128, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 80, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 4, 0, 128, 61, 214, 204, 12, 63, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 160, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 0, 63, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 48, 63, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 32, 63, 216, 204, 12, 63, 0, 0, 0, 61, 120, 102, 230, 62, 4, 0, 128, 61, 120, 102, 230, 62, 0, 0, 192, 61, 120, 102, 230, 62, 0, 0, 0, 62, 124, 102, 230, 62, 2, 0, 32, 62, 124, 102, 230, 62, 0, 0, 64, 62, 124, 102, 230, 62, 0, 0, 96, 62, 124, 102, 230, 62, 0, 0, 128, 62, 124, 102, 230, 62, 0, 0, 144, 62, 124, 102, 230, 62, 0, 0, 160, 62, 124, 102, 230, 62, 0, 0, 176, 62, 124, 102, 230, 62, 1, 0, 192, 62, 124, 102, 230, 62, 1, 0, 208, 62, 128, 102, 230, 62, 0, 0, 224, 62, 128, 102, 230, 62, 0, 0, 240, 62, 128, 102, 230, 62, 0, 0, 0, 63, 128, 102, 230, 62, 0, 0, 8, 63, 128, 102, 230, 62, 0, 0, 16, 63, 128, 102, 230, 62, 0, 0, 24, 63, 128, 102, 230, 62, 0, 0, 32, 63, 124, 102, 230, 62, 255, 255, 39, 63, 124, 102, 230, 62, 0, 0, 48, 63, 124, 102, 230, 62, 0, 0, 56, 63, 124, 102, 230, 62, 0, 0, 64, 63, 124, 102, 230, 62, 0, 0, 72, 63, 124, 102, 230, 62, 0, 0, 80, 63, 124, 102, 230, 62, 255, 255, 87, 63, 124, 102, 230, 62, 255, 255, 95, 63, 124, 102, 230, 62, 0, 0, 104, 63, 120, 102, 230, 62, 0, 0, 112, 63, 120, 102, 230, 62, 0, 0, 0, 61, 212, 204, 12, 63, 4, 0, 128, 61, 212, 204, 12, 63, 4, 0, 192, 61, 212, 204, 12, 63, 0, 0, 0, 62, 214, 204, 12, 63, 2, 0, 32, 62, 214, 204, 12, 63, 0, 0, 64, 62, 214, 204, 12, 63, 0, 0, 96, 62, 214, 204, 12, 63, 0, 0, 128, 62, 214, 204, 12, 63, 0, 0, 144, 62, 214, 204, 12, 63, 0, 0, 160, 62, 214, 204, 12, 63, 0, 0, 176, 62, 214, 204, 12, 63, 0, 0, 192, 62, 214, 204, 12, 63, 1, 0, 208, 62, 216, 204, 12, 63, 0, 0, 224, 62, 216, 204, 12, 63, 0, 0, 240, 62, 216, 204, 12, 63, 0, 0, 0, 63, 216, 204, 12, 63, 0, 0, 8, 63, 216, 204, 12, 63, 0, 0, 16, 63, 216, 204, 12, 63, 0, 0, 24, 63, 216, 204, 12, 63, 0, 0, 32, 63, 214, 204, 12, 63, 255, 255, 39, 63, 214, 204, 12, 63, 255, 255, 47, 63, 214, 204, 12, 63, 0, 0, 56, 63, 214, 204, 12, 63, 0, 0, 64, 63, 214, 204, 12, 63, 0, 0, 72, 63, 214, 204, 12, 63, 0, 0, 80, 63, 214, 204, 12, 63, 255, 255, 87, 63, 214, 204, 12, 63, 255, 255, 95, 63, 214, 204, 12, 63, 0, 0, 104, 63, 212, 204, 12, 63, 0, 0, 112, 63, 212, 204, 12, 63, 0, 0, 120, 63, 212, 204, 12, 63, 0, 0, 192, 62, 120, 102, 230, 62, 0, 0, 64, 62, 120, 102, 230, 62, 0, 0, 0, 0, 8, 0, 0, 63, 0, 0, 128, 63, 8, 0, 0, 63),
+"format": 4119,
"index_count": 948,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 328
-}
-surfaces/1 = {
-"aabb": AABB( -1, 3.1, -1, 2, 0.3, 2.00001 ),
-"array_data": PoolByteArray( 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 126, 63, 0, 0, 255, 59, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 0, 0, 127, 63, 0, 60, 255, 59, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 21, 0, 126, 52, 0, 40, 255, 59, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 37, 0, 127, 44, 0, 44, 255, 59, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 50, 0, 126, 88, 0, 46, 255, 59, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 63, 0, 127, 95, 0, 48, 0, 60, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 0, 127, 25, 255, 48, 0, 60, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 89, 0, 127, 18, 0, 50, 0, 60, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 105, 0, 127, 10, 0, 51, 0, 60, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 126, 0, 129, 1, 0, 52, 0, 60, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 126, 21, 129, 116, 128, 52, 0, 60, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 60, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 126, 50, 129, 101, 128, 53, 0, 60, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 126, 193, 129, 31, 0, 54, 0, 60, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 126, 180, 130, 38, 128, 54, 0, 60, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 126, 167, 129, 44, 0, 55, 0, 60, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 126, 151, 129, 52, 128, 55, 0, 60, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 129, 130, 130, 63, 0, 56, 0, 60, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 60, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 60, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 130, 180, 180, 63, 192, 56, 0, 60, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 130, 193, 193, 63, 0, 57, 0, 60, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 130, 206, 206, 63, 64, 57, 0, 60, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 130, 219, 219, 63, 128, 57, 0, 60, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 130, 235, 235, 63, 192, 57, 0, 60, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 130, 0, 0, 63, 0, 58, 0, 60, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 60, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 60, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 180, 0, 50, 63, 192, 58, 0, 60, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 193, 0, 63, 63, 0, 59, 0, 60, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 206, 0, 76, 63, 64, 59, 255, 59, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 219, 0, 89, 63, 128, 59, 255, 59, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 235, 0, 105, 63, 192, 59, 255, 59, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 126, 63, 0, 0, 0, 0, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 0, 0, 127, 63, 0, 60, 0, 0, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 21, 0, 126, 52, 0, 40, 0, 0, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 37, 0, 126, 44, 0, 44, 0, 0, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 50, 0, 126, 88, 0, 46, 0, 0, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 63, 0, 126, 95, 0, 48, 0, 0, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 76, 0, 127, 25, 0, 49, 0, 0, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 89, 0, 127, 108, 0, 50, 0, 0, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 105, 0, 127, 116, 0, 51, 0, 0, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 126, 0, 129, 126, 0, 52, 0, 0, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 126, 235, 129, 10, 128, 52, 0, 0, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 126, 37, 129, 108, 0, 53, 0, 0, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 127, 206, 129, 25, 128, 53, 0, 0, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 127, 193, 130, 95, 0, 54, 0, 0, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 127, 76, 129, 88, 128, 54, 0, 0, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 127, 89, 129, 82, 0, 55, 0, 0, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 126, 105, 129, 74, 128, 55, 0, 0, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 129, 130, 129, 63, 0, 56, 0, 0, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 130, 151, 151, 63, 64, 56, 0, 0, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 130, 167, 167, 63, 128, 56, 0, 0, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 129, 180, 180, 63, 192, 56, 0, 0, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 130, 63, 193, 63, 0, 57, 0, 0, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 130, 50, 206, 63, 63, 57, 0, 0, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 130, 37, 219, 63, 128, 57, 0, 0, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 130, 21, 235, 63, 192, 57, 0, 0, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 129, 0, 0, 63, 0, 58, 0, 0, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 151, 0, 21, 63, 64, 58, 0, 0, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 167, 0, 37, 63, 128, 58, 0, 0, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 180, 0, 50, 63, 191, 58, 0, 0, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 193, 0, 63, 63, 255, 58, 0, 0, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 206, 0, 76, 63, 64, 59, 0, 0, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 219, 0, 89, 63, 128, 59, 0, 0, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 235, 0, 105, 63, 192, 59, 0, 0 ),
-"array_index_data": PoolByteArray( 13, 0, 47, 0, 14, 0, 13, 0, 46, 0, 47, 0, 27, 0, 61, 0, 28, 0, 27, 0, 60, 0, 61, 0, 14, 0, 48, 0, 15, 0, 14, 0, 47, 0, 48, 0, 0, 0, 35, 0, 2, 0, 0, 0, 33, 0, 35, 0, 28, 0, 62, 0, 29, 0, 28, 0, 61, 0, 62, 0, 15, 0, 49, 0, 16, 0, 15, 0, 48, 0, 49, 0, 2, 0, 36, 0, 3, 0, 2, 0, 35, 0, 36, 0, 29, 0, 63, 0, 30, 0, 29, 0, 62, 0, 63, 0, 16, 0, 50, 0, 17, 0, 16, 0, 49, 0, 50, 0, 3, 0, 37, 0, 4, 0, 3, 0, 36, 0, 37, 0, 30, 0, 64, 0, 31, 0, 30, 0, 63, 0, 64, 0, 17, 0, 51, 0, 18, 0, 17, 0, 50, 0, 51, 0, 4, 0, 38, 0, 5, 0, 4, 0, 37, 0, 38, 0, 31, 0, 65, 0, 32, 0, 31, 0, 64, 0, 65, 0, 18, 0, 52, 0, 19, 0, 18, 0, 51, 0, 52, 0, 5, 0, 39, 0, 6, 0, 5, 0, 38, 0, 39, 0, 32, 0, 34, 0, 1, 0, 32, 0, 65, 0, 34, 0, 19, 0, 53, 0, 20, 0, 19, 0, 52, 0, 53, 0, 6, 0, 40, 0, 7, 0, 6, 0, 39, 0, 40, 0, 20, 0, 54, 0, 21, 0, 20, 0, 53, 0, 54, 0, 7, 0, 41, 0, 8, 0, 7, 0, 40, 0, 41, 0, 21, 0, 55, 0, 22, 0, 21, 0, 54, 0, 55, 0, 8, 0, 42, 0, 9, 0, 8, 0, 41, 0, 42, 0, 22, 0, 56, 0, 23, 0, 22, 0, 55, 0, 56, 0, 9, 0, 43, 0, 10, 0, 9, 0, 42, 0, 43, 0, 23, 0, 57, 0, 24, 0, 23, 0, 56, 0, 57, 0, 10, 0, 44, 0, 11, 0, 10, 0, 43, 0, 44, 0, 24, 0, 58, 0, 25, 0, 24, 0, 57, 0, 58, 0, 11, 0, 45, 0, 12, 0, 11, 0, 44, 0, 45, 0, 25, 0, 59, 0, 26, 0, 25, 0, 58, 0, 59, 0, 12, 0, 46, 0, 13, 0, 12, 0, 45, 0, 46, 0, 26, 0, 60, 0, 27, 0, 26, 0, 59, 0, 60, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+"index_data": PackedByteArray(2, 0, 10, 0, 5, 0, 2, 0, 7, 0, 10, 0, 7, 0, 14, 0, 10, 0, 7, 0, 11, 0, 14, 0, 11, 0, 18, 0, 14, 0, 11, 0, 15, 0, 18, 0, 15, 0, 22, 0, 18, 0, 15, 0, 19, 0, 22, 0, 19, 0, 26, 0, 22, 0, 19, 0, 23, 0, 26, 0, 23, 0, 30, 0, 26, 0, 23, 0, 27, 0, 30, 0, 27, 0, 34, 0, 30, 0, 27, 0, 31, 0, 34, 0, 31, 0, 38, 0, 34, 0, 31, 0, 35, 0, 38, 0, 35, 0, 42, 0, 38, 0, 35, 0, 39, 0, 42, 0, 39, 0, 46, 0, 42, 0, 39, 0, 43, 0, 46, 0, 43, 0, 50, 0, 46, 0, 43, 0, 47, 0, 50, 0, 47, 0, 54, 0, 50, 0, 47, 0, 51, 0, 54, 0, 51, 0, 58, 0, 54, 0, 51, 0, 55, 0, 58, 0, 55, 0, 62, 0, 58, 0, 55, 0, 59, 0, 62, 0, 59, 0, 66, 0, 62, 0, 59, 0, 63, 0, 66, 0, 63, 0, 70, 0, 66, 0, 63, 0, 67, 0, 70, 0, 67, 0, 73, 0, 70, 0, 67, 0, 72, 0, 73, 0, 72, 0, 77, 0, 73, 0, 72, 0, 76, 0, 77, 0, 76, 0, 81, 0, 77, 0, 76, 0, 80, 0, 81, 0, 80, 0, 85, 0, 81, 0, 80, 0, 84, 0, 85, 0, 84, 0, 89, 0, 85, 0, 84, 0, 88, 0, 89, 0, 88, 0, 93, 0, 89, 0, 88, 0, 92, 0, 93, 0, 92, 0, 97, 0, 93, 0, 92, 0, 96, 0, 97, 0, 96, 0, 101, 0, 97, 0, 96, 0, 100, 0, 101, 0, 100, 0, 105, 0, 101, 0, 100, 0, 104, 0, 105, 0, 104, 0, 109, 0, 105, 0, 104, 0, 108, 0, 109, 0, 108, 0, 113, 0, 109, 0, 108, 0, 112, 0, 113, 0, 112, 0, 117, 0, 113, 0, 112, 0, 116, 0, 117, 0, 116, 0, 121, 0, 117, 0, 116, 0, 120, 0, 121, 0, 120, 0, 125, 0, 121, 0, 120, 0, 124, 0, 125, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 126, 0, 118, 0, 122, 0, 118, 0, 110, 0, 114, 0, 110, 0, 102, 0, 106, 0, 102, 0, 94, 0, 98, 0, 94, 0, 86, 0, 90, 0, 86, 0, 78, 0, 82, 0, 78, 0, 69, 0, 74, 0, 69, 0, 61, 0, 65, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 110, 0, 94, 0, 102, 0, 94, 0, 78, 0, 86, 0, 78, 0, 61, 0, 69, 0, 61, 0, 45, 0, 53, 0, 45, 0, 29, 0, 37, 0, 29, 0, 13, 0, 21, 0, 13, 0, 110, 0, 126, 0, 110, 0, 78, 0, 94, 0, 78, 0, 45, 0, 61, 0, 45, 0, 13, 0, 29, 0, 13, 0, 78, 0, 110, 0, 78, 0, 13, 0, 45, 0, 124, 0, 129, 0, 125, 0, 124, 0, 128, 0, 129, 0, 128, 0, 6, 0, 129, 0, 128, 0, 3, 0, 6, 0, 103, 0, 158, 0, 107, 0, 103, 0, 157, 0, 158, 0, 16, 0, 136, 0, 20, 0, 16, 0, 135, 0, 136, 0, 52, 0, 145, 0, 56, 0, 52, 0, 144, 0, 145, 0, 87, 0, 154, 0, 91, 0, 87, 0, 153, 0, 154, 0, 123, 0, 163, 0, 127, 0, 123, 0, 162, 0, 163, 0, 36, 0, 141, 0, 40, 0, 36, 0, 140, 0, 141, 0, 71, 0, 150, 0, 75, 0, 71, 0, 149, 0, 150, 0, 107, 0, 159, 0, 111, 0, 107, 0, 158, 0, 159, 0, 20, 0, 137, 0, 24, 0, 20, 0, 136, 0, 137, 0, 56, 0, 146, 0, 60, 0, 56, 0, 145, 0, 146, 0, 91, 0, 155, 0, 95, 0, 91, 0, 154, 0, 155, 0, 0, 0, 133, 0, 8, 0, 0, 0, 131, 0, 133, 0, 127, 0, 132, 0, 1, 0, 127, 0, 163, 0, 132, 0, 40, 0, 142, 0, 44, 0, 40, 0, 141, 0, 142, 0, 75, 0, 151, 0, 79, 0, 75, 0, 150, 0, 151, 0, 111, 0, 160, 0, 115, 0, 111, 0, 159, 0, 160, 0, 24, 0, 138, 0, 28, 0, 24, 0, 137, 0, 138, 0, 60, 0, 147, 0, 64, 0, 60, 0, 146, 0, 147, 0, 95, 0, 156, 0, 99, 0, 95, 0, 155, 0, 156, 0, 8, 0, 134, 0, 12, 0, 8, 0, 133, 0, 134, 0, 44, 0, 143, 0, 48, 0, 44, 0, 142, 0, 143, 0, 79, 0, 152, 0, 83, 0, 79, 0, 151, 0, 152, 0, 115, 0, 161, 0, 119, 0, 115, 0, 160, 0, 161, 0, 28, 0, 139, 0, 32, 0, 28, 0, 138, 0, 139, 0, 64, 0, 148, 0, 68, 0, 64, 0, 147, 0, 148, 0, 99, 0, 157, 0, 103, 0, 99, 0, 156, 0, 157, 0, 12, 0, 135, 0, 16, 0, 12, 0, 134, 0, 135, 0, 48, 0, 144, 0, 52, 0, 48, 0, 143, 0, 144, 0, 83, 0, 153, 0, 87, 0, 83, 0, 152, 0, 153, 0, 119, 0, 162, 0, 123, 0, 119, 0, 161, 0, 162, 0, 32, 0, 140, 0, 36, 0, 32, 0, 139, 0, 140, 0, 68, 0, 149, 0, 71, 0, 68, 0, 148, 0, 149, 0, 180, 0, 219, 0, 181, 0, 180, 0, 218, 0, 219, 0, 167, 0, 200, 0, 168, 0, 167, 0, 20, 1, 200, 0, 194, 0, 34, 1, 195, 0, 194, 0, 237, 0, 34, 1, 181, 0, 221, 0, 182, 0, 181, 0, 219, 0, 221, 0, 168, 0, 202, 0, 169, 0, 168, 0, 200, 0, 202, 0, 195, 0, 239, 0, 196, 0, 195, 0, 34, 1, 239, 0, 182, 0, 223, 0, 183, 0, 182, 0, 221, 0, 223, 0, 169, 0, 204, 0, 170, 0, 169, 0, 202, 0, 204, 0, 196, 0, 28, 1, 165, 0, 196, 0, 239, 0, 28, 1, 183, 0, 225, 0, 184, 0, 183, 0, 223, 0, 225, 0, 170, 0, 10, 1, 171, 0, 170, 0, 204, 0, 10, 1, 184, 0, 62, 1, 185, 0, 184, 0, 225, 0, 62, 1, 171, 0, 206, 0, 172, 0, 171, 0, 10, 1, 206, 0, 185, 0, 227, 0, 186, 0, 185, 0, 62, 1, 227, 0, 172, 0, 4, 1, 173, 0, 172, 0, 206, 0, 4, 1, 186, 0, 56, 1, 187, 0, 186, 0, 227, 0, 56, 1, 173, 0, 208, 0, 174, 0, 173, 0, 4, 1, 208, 0, 187, 0, 229, 0, 188, 0, 187, 0, 56, 1, 229, 0, 174, 0, 254, 0, 175, 0, 174, 0, 208, 0, 254, 0, 188, 0, 50, 1, 189, 0, 188, 0, 229, 0, 50, 1, 175, 0, 210, 0, 176, 0, 175, 0, 254, 0, 210, 0, 189, 0, 231, 0, 190, 0, 189, 0, 50, 1, 231, 0, 176, 0, 212, 0, 177, 0, 176, 0, 210, 0, 212, 0, 190, 0, 44, 1, 191, 0, 190, 0, 231, 0, 44, 1, 177, 0, 214, 0, 178, 0, 177, 0, 212, 0, 214, 0, 191, 0, 233, 0, 192, 0, 191, 0, 44, 1, 233, 0, 178, 0, 216, 0, 179, 0, 178, 0, 214, 0, 216, 0, 164, 0, 198, 0, 166, 0, 164, 0, 27, 1, 198, 0, 192, 0, 235, 0, 193, 0, 192, 0, 233, 0, 235, 0, 179, 0, 218, 0, 180, 0, 179, 0, 216, 0, 218, 0, 166, 0, 20, 1, 167, 0, 166, 0, 198, 0, 20, 1, 193, 0, 237, 0, 194, 0, 193, 0, 235, 0, 237, 0, 220, 0, 244, 0, 242, 0, 220, 0, 217, 0, 244, 0, 217, 0, 246, 0, 244, 0, 217, 0, 215, 0, 246, 0, 215, 0, 248, 0, 246, 0, 215, 0, 213, 0, 248, 0, 213, 0, 250, 0, 248, 0, 213, 0, 211, 0, 250, 0, 211, 0, 252, 0, 250, 0, 211, 0, 209, 0, 252, 0, 209, 0, 0, 1, 252, 0, 209, 0, 253, 0, 0, 1, 253, 0, 2, 1, 0, 1, 253, 0, 207, 0, 2, 1, 207, 0, 6, 1, 2, 1, 207, 0, 3, 1, 6, 1, 3, 1, 8, 1, 6, 1, 3, 1, 205, 0, 8, 1, 205, 0, 12, 1, 8, 1, 205, 0, 9, 1, 12, 1, 9, 1, 14, 1, 12, 1, 9, 1, 203, 0, 14, 1, 203, 0, 16, 1, 14, 1, 203, 0, 201, 0, 16, 1, 201, 0, 18, 1, 16, 1, 201, 0, 199, 0, 18, 1, 199, 0, 22, 1, 18, 1, 199, 0, 19, 1, 22, 1, 19, 1, 24, 1, 22, 1, 19, 1, 197, 0, 24, 1, 197, 0, 30, 1, 24, 1, 197, 0, 25, 1, 30, 1, 26, 1, 32, 1, 31, 1, 26, 1, 240, 0, 32, 1, 240, 0, 36, 1, 32, 1, 240, 0, 35, 1, 36, 1, 35, 1, 38, 1, 36, 1, 35, 1, 238, 0, 38, 1, 238, 0, 40, 1, 38, 1, 238, 0, 236, 0, 40, 1, 236, 0, 42, 1, 40, 1, 236, 0, 234, 0, 42, 1, 234, 0, 46, 1, 42, 1, 234, 0, 45, 1, 46, 1, 45, 1, 48, 1, 46, 1, 45, 1, 232, 0, 48, 1, 232, 0, 52, 1, 48, 1, 232, 0, 51, 1, 52, 1, 51, 1, 54, 1, 52, 1, 51, 1, 230, 0, 54, 1, 230, 0, 58, 1, 54, 1, 230, 0, 57, 1, 58, 1, 57, 1, 60, 1, 58, 1, 57, 1, 228, 0, 60, 1, 228, 0, 64, 1, 60, 1, 228, 0, 63, 1, 64, 1, 63, 1, 66, 1, 64, 1, 63, 1, 226, 0, 66, 1, 226, 0, 68, 1, 66, 1, 226, 0, 224, 0, 68, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 69, 1, 65, 1, 67, 1, 65, 1, 59, 1, 61, 1, 59, 1, 53, 1, 55, 1, 53, 1, 47, 1, 49, 1, 47, 1, 41, 1, 43, 1, 41, 1, 37, 1, 39, 1, 37, 1, 29, 1, 33, 1, 29, 1, 21, 1, 23, 1, 21, 1, 15, 1, 17, 1, 15, 1, 11, 1, 13, 1, 11, 1, 5, 1, 7, 1, 5, 1, 255, 0, 1, 1, 255, 0, 249, 0, 251, 0, 249, 0, 245, 0, 247, 0, 245, 0, 69, 1, 241, 0, 69, 1, 59, 1, 65, 1, 59, 1, 47, 1, 53, 1, 47, 1, 37, 1, 41, 1, 37, 1, 21, 1, 29, 1, 21, 1, 11, 1, 15, 1, 11, 1, 255, 0, 5, 1, 255, 0, 245, 0, 249, 0, 245, 0, 59, 1, 69, 1, 59, 1, 37, 1, 47, 1, 37, 1, 11, 1, 21, 1, 11, 1, 245, 0, 255, 0, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 224, 0, 70, 1, 68, 1, 224, 0, 222, 0, 70, 1, 222, 0, 242, 0, 70, 1, 222, 0, 220, 0, 242, 0),
+"lods": [0.123754, PackedByteArray(206, 1, 10, 0, 5, 0, 206, 1, 210, 1, 10, 0, 206, 1, 131, 0, 210, 1, 210, 1, 14, 0, 10, 0, 210, 1, 211, 1, 212, 1, 210, 1, 212, 1, 213, 1, 210, 1, 213, 1, 14, 0, 213, 1, 22, 0, 14, 0, 213, 1, 30, 0, 22, 0, 213, 1, 208, 1, 30, 0, 213, 1, 214, 1, 215, 1, 213, 1, 215, 1, 216, 1, 213, 1, 216, 1, 217, 1, 213, 1, 217, 1, 218, 1, 213, 1, 218, 1, 208, 1, 218, 1, 46, 0, 208, 1, 218, 1, 54, 0, 46, 0, 218, 1, 219, 1, 220, 1, 218, 1, 220, 1, 221, 1, 218, 1, 221, 1, 54, 0, 54, 0, 221, 1, 222, 1, 54, 0, 222, 1, 223, 1, 54, 0, 223, 1, 225, 1, 225, 1, 223, 1, 224, 1, 54, 0, 225, 1, 62, 0, 225, 1, 70, 0, 62, 0, 225, 1, 73, 0, 70, 0, 225, 1, 226, 1, 73, 0, 226, 1, 77, 0, 73, 0, 226, 1, 228, 1, 77, 0, 226, 1, 227, 1, 228, 1, 228, 1, 209, 1, 77, 0, 228, 1, 230, 1, 209, 1, 228, 1, 229, 1, 230, 1, 230, 1, 231, 1, 209, 1, 231, 1, 93, 0, 209, 1, 231, 1, 101, 0, 93, 0, 231, 1, 232, 1, 233, 1, 231, 1, 233, 1, 234, 1, 231, 1, 234, 1, 235, 1, 231, 1, 235, 1, 101, 0, 235, 1, 109, 0, 101, 0, 235, 1, 117, 0, 109, 0, 235, 1, 236, 1, 237, 1, 235, 1, 237, 1, 238, 1, 235, 1, 238, 1, 239, 1, 235, 1, 239, 1, 117, 0, 239, 1, 125, 0, 117, 0, 239, 1, 129, 0, 125, 0, 239, 1, 207, 1, 129, 0, 207, 1, 6, 0, 129, 0, 239, 1, 163, 0, 207, 1, 207, 1, 163, 0, 132, 0, 13, 0, 4, 0, 9, 0, 4, 0, 126, 0, 130, 0, 13, 0, 126, 0, 4, 0, 126, 0, 110, 0, 118, 0, 13, 0, 110, 0, 126, 0, 110, 0, 94, 0, 102, 0, 110, 0, 78, 0, 94, 0, 13, 0, 78, 0, 110, 0, 94, 0, 78, 0, 86, 0, 78, 0, 69, 0, 74, 0, 78, 0, 61, 0, 69, 0, 78, 0, 45, 0, 61, 0, 78, 0, 13, 0, 45, 0, 61, 0, 45, 0, 53, 0, 45, 0, 13, 0, 29, 0, 29, 0, 13, 0, 21, 0, 45, 0, 29, 0, 37, 0, 255, 1, 254, 1, 0, 2, 252, 1, 254, 1, 253, 1, 251, 1, 254, 1, 252, 1, 250, 1, 254, 1, 251, 1, 250, 1, 247, 1, 254, 1, 249, 1, 247, 1, 250, 1, 248, 1, 247, 1, 249, 1, 245, 1, 247, 1, 246, 1, 244, 1, 247, 1, 245, 1, 244, 1, 242, 1, 247, 1, 243, 1, 242, 1, 244, 1, 247, 1, 6, 1, 0, 1, 247, 1, 16, 2, 6, 1, 247, 1, 0, 1, 15, 2, 242, 1, 16, 1, 16, 2, 242, 1, 22, 1, 16, 1, 173, 0, 168, 0, 16, 2, 180, 0, 173, 0, 15, 2, 242, 1, 17, 2, 22, 1, 17, 2, 30, 1, 22, 1, 240, 1, 17, 2, 168, 0, 240, 1, 242, 1, 241, 1, 164, 0, 17, 2, 240, 1, 254, 1, 15, 2, 246, 0, 254, 1, 246, 0, 244, 0, 254, 1, 244, 0, 242, 0, 254, 1, 242, 0, 70, 1, 0, 2, 254, 1, 70, 1, 0, 2, 70, 1, 68, 1, 0, 2, 68, 1, 66, 1, 5, 2, 0, 2, 66, 1, 5, 2, 66, 1, 64, 1, 5, 2, 64, 1, 60, 1, 5, 2, 60, 1, 58, 1, 5, 2, 58, 1, 54, 1, 1, 2, 0, 2, 2, 2, 2, 2, 0, 2, 5, 2, 2, 2, 5, 2, 3, 2, 3, 2, 5, 2, 4, 2, 9, 2, 5, 2, 54, 1, 6, 2, 5, 2, 9, 2, 9, 2, 54, 1, 52, 1, 6, 2, 9, 2, 7, 2, 7, 2, 9, 2, 8, 2, 9, 2, 52, 1, 48, 1, 9, 2, 48, 1, 46, 1, 9, 2, 46, 1, 42, 1, 10, 2, 9, 2, 42, 1, 10, 2, 42, 1, 40, 1, 12, 2, 10, 2, 40, 1, 11, 2, 10, 2, 12, 2, 12, 2, 40, 1, 38, 1, 12, 2, 38, 1, 36, 1, 14, 2, 12, 2, 36, 1, 13, 2, 12, 2, 14, 2, 14, 2, 36, 1, 32, 1, 18, 2, 14, 2, 32, 1, 14, 2, 18, 2, 165, 0, 18, 2, 32, 1, 31, 1, 245, 0, 241, 0, 243, 0, 241, 0, 69, 1, 71, 1, 245, 0, 69, 1, 241, 0, 69, 1, 65, 1, 67, 1, 69, 1, 59, 1, 65, 1, 245, 0, 59, 1, 69, 1, 65, 1, 59, 1, 61, 1, 255, 0, 245, 0, 249, 0, 11, 1, 245, 0, 255, 0, 11, 1, 255, 0, 5, 1, 245, 0, 37, 1, 59, 1, 37, 1, 245, 0, 11, 1, 21, 1, 11, 1, 15, 1, 37, 1, 11, 1, 21, 1, 37, 1, 21, 1, 29, 1, 37, 1, 29, 1, 33, 1, 59, 1, 53, 1, 55, 1, 59, 1, 47, 1, 53, 1, 59, 1, 37, 1, 47, 1, 53, 1, 47, 1, 49, 1, 47, 1, 37, 1, 41, 1, 41, 1, 37, 1, 39, 1, 47, 1, 41, 1, 43, 1), 0.154965, PackedByteArray(142, 1, 14, 0, 5, 0, 142, 1, 149, 1, 14, 0, 142, 1, 131, 0, 149, 1, 149, 1, 152, 1, 14, 0, 149, 1, 151, 1, 152, 1, 149, 1, 150, 1, 151, 1, 153, 1, 145, 1, 144, 1, 153, 1, 155, 1, 156, 1, 154, 1, 156, 1, 145, 1, 145, 1, 156, 1, 157, 1, 162, 1, 147, 1, 145, 1, 146, 1, 157, 1, 158, 1, 158, 1, 161, 1, 146, 1, 158, 1, 160, 1, 161, 1, 158, 1, 159, 1, 160, 1, 161, 1, 164, 1, 165, 1, 163, 1, 165, 1, 147, 1, 147, 1, 165, 1, 166, 1, 166, 1, 167, 1, 77, 0, 167, 1, 93, 0, 147, 1, 167, 1, 169, 1, 93, 0, 167, 1, 168, 1, 169, 1, 169, 1, 148, 1, 93, 0, 169, 1, 173, 1, 148, 1, 169, 1, 170, 1, 171, 1, 169, 1, 171, 1, 172, 1, 169, 1, 172, 1, 174, 1, 174, 1, 125, 0, 148, 1, 173, 1, 176, 1, 125, 0, 173, 1, 175, 1, 176, 1, 176, 1, 143, 1, 125, 0, 143, 1, 6, 0, 125, 0, 143, 1, 176, 1, 132, 0, 13, 0, 126, 0, 4, 0, 13, 0, 110, 0, 126, 0, 13, 0, 78, 0, 110, 0, 110, 0, 78, 0, 94, 0, 78, 0, 13, 0, 45, 0, 196, 0, 203, 1, 165, 0, 203, 1, 196, 0, 36, 1, 203, 1, 36, 1, 31, 1, 196, 0, 197, 1, 36, 1, 197, 1, 46, 1, 36, 1, 197, 1, 195, 1, 46, 1, 196, 1, 195, 1, 197, 1, 195, 1, 194, 1, 46, 1, 194, 1, 204, 1, 46, 1, 192, 1, 194, 1, 193, 1, 192, 1, 191, 1, 194, 1, 194, 1, 191, 1, 204, 1, 191, 1, 188, 1, 204, 1, 189, 1, 188, 1, 191, 1, 189, 1, 191, 1, 190, 1, 188, 1, 181, 0, 199, 1, 187, 1, 199, 1, 181, 0, 188, 1, 198, 1, 205, 1, 187, 1, 185, 1, 198, 1, 186, 1, 185, 1, 187, 1, 185, 1, 183, 1, 198, 1, 184, 1, 183, 1, 185, 1, 198, 1, 183, 1, 200, 1, 179, 1, 22, 1, 200, 1, 179, 1, 202, 1, 22, 1, 202, 1, 30, 1, 22, 1, 164, 0, 202, 1, 177, 1, 177, 1, 202, 1, 180, 1, 177, 1, 179, 1, 178, 1, 181, 1, 179, 1, 182, 1, 182, 1, 179, 1, 201, 1, 173, 0, 182, 1, 201, 1, 37, 1, 21, 1, 29, 1, 37, 1, 11, 1, 21, 1, 37, 1, 241, 0, 11, 1, 241, 0, 37, 1, 59, 1, 59, 1, 37, 1, 47, 1), 0.466953, PackedByteArray(99, 1, 101, 1, 5, 0, 99, 1, 134, 0, 101, 1, 99, 1, 131, 0, 134, 0, 134, 0, 108, 1, 101, 1, 101, 1, 108, 1, 109, 1, 109, 1, 110, 1, 102, 1, 110, 1, 103, 1, 102, 1, 110, 1, 112, 1, 106, 1, 112, 1, 113, 1, 114, 1, 114, 1, 107, 1, 106, 1, 100, 1, 6, 0, 107, 1, 115, 1, 100, 1, 107, 1, 100, 1, 115, 1, 132, 0, 111, 1, 105, 1, 104, 1, 152, 0, 161, 0, 105, 1, 13, 0, 126, 0, 4, 0, 13, 0, 94, 0, 126, 0, 13, 0, 78, 0, 94, 0, 127, 1, 134, 1, 165, 0, 127, 1, 126, 1, 138, 1, 126, 1, 125, 1, 139, 1, 125, 1, 140, 1, 138, 1, 125, 1, 124, 1, 141, 1, 124, 1, 122, 1, 140, 1, 122, 1, 129, 1, 140, 1, 135, 1, 138, 1, 137, 1, 135, 1, 128, 1, 138, 1, 121, 1, 119, 1, 129, 1, 129, 1, 119, 1, 131, 1, 123, 1, 121, 1, 130, 1, 133, 1, 136, 1, 131, 1, 117, 1, 133, 1, 131, 1, 116, 1, 133, 1, 117, 1, 164, 0, 133, 1, 116, 1, 120, 1, 118, 1, 132, 1, 47, 1, 11, 1, 29, 1, 47, 1, 241, 0, 11, 1, 241, 0, 47, 1, 59, 1), 0.972276, PackedByteArray(72, 1, 14, 0, 5, 0, 72, 1, 134, 0, 14, 0, 72, 1, 131, 0, 134, 0, 76, 1, 134, 0, 152, 0, 79, 1, 81, 1, 77, 1, 13, 0, 94, 0, 4, 0, 82, 1, 73, 1, 78, 1, 73, 1, 74, 1, 78, 1, 75, 1, 80, 1, 78, 1, 1, 0, 83, 1, 132, 0, 88, 1, 94, 1, 85, 1, 84, 1, 92, 1, 86, 1, 87, 1, 93, 1, 91, 1, 93, 1, 96, 1, 91, 1, 89, 1, 91, 1, 98, 1, 95, 1, 98, 1, 97, 1, 26, 1, 189, 0, 46, 1, 47, 1, 241, 0, 29, 1, 90, 1, 179, 0, 242, 0)],
+"material": SubResource("StandardMaterial3D_xtwro"),
+"primitive": 3,
+"vertex_count": 531,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 63, 66, 250, 66, 186, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 255, 127, 255, 63, 133, 244, 221, 194, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 0, 0, 0, 0, 216, 156, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 255, 63, 66, 250, 66, 186, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 255, 127, 255, 63, 133, 244, 221, 194, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 121, 139, 44, 69, 254, 255, 157, 202, 194, 197, 71, 62, 1, 0, 64, 64, 190, 20, 123, 63, 59, 149, 255, 127, 255, 255, 97, 181, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 255, 127, 0, 0, 0, 0, 216, 156, 149, 203, 51, 62, 154, 153, 57, 64, 17, 249, 97, 63, 121, 139, 44, 69, 254, 255, 157, 202, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 59, 149, 129, 72, 254, 255, 189, 210, 22, 239, 195, 62, 1, 0, 64, 64, 94, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 0, 0, 216, 156, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 59, 149, 129, 72, 254, 255, 189, 210, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 201, 157, 96, 74, 254, 255, 92, 166, 218, 57, 14, 63, 1, 0, 64, 64, 49, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 255, 127, 0, 0, 0, 0, 217, 156, 222, 0, 0, 63, 154, 153, 57, 64, 18, 146, 63, 63, 201, 157, 96, 74, 254, 255, 92, 166, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 124, 165, 250, 74, 254, 255, 255, 159, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 255, 127, 0, 0, 0, 0, 216, 156, 218, 234, 34, 63, 154, 153, 57, 64, 218, 234, 34, 63, 124, 165, 250, 74, 254, 255, 255, 159, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 149, 172, 96, 74, 254, 255, 161, 153, 49, 219, 84, 63, 0, 0, 64, 64, 218, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 255, 127, 0, 0, 0, 0, 217, 156, 18, 146, 63, 63, 154, 153, 57, 64, 222, 0, 0, 63, 149, 172, 96, 74, 254, 255, 161, 153, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 68, 179, 129, 72, 254, 255, 190, 146, 94, 131, 108, 63, 0, 0, 64, 64, 21, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 255, 127, 0, 0, 0, 0, 216, 156, 161, 220, 84, 63, 154, 153, 57, 64, 45, 87, 176, 62, 68, 179, 129, 72, 254, 255, 190, 146, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 177, 185, 44, 69, 255, 255, 157, 138, 190, 20, 123, 63, 0, 0, 64, 64, 196, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 255, 127, 0, 0, 0, 0, 216, 156, 17, 249, 97, 63, 154, 153, 57, 64, 151, 203, 51, 62, 177, 185, 44, 69, 255, 255, 96, 245, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 255, 191, 255, 63, 254, 255, 254, 255, 0, 0, 128, 63, 0, 0, 64, 64, 46, 189, 59, 179, 254, 255, 255, 127, 255, 255, 255, 255, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 255, 127, 0, 0, 0, 0, 216, 156, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 255, 191, 255, 63, 254, 255, 254, 255, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 43, 197, 178, 57, 0, 0, 96, 245, 190, 20, 123, 63, 0, 0, 64, 64, 194, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 255, 127, 0, 0, 0, 0, 216, 156, 17, 249, 97, 63, 153, 153, 57, 64, 148, 203, 51, 190, 43, 197, 178, 57, 0, 0, 96, 245, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 128, 200, 68, 51, 0, 0, 64, 237, 95, 131, 108, 63, 0, 0, 64, 64, 20, 239, 195, 190, 254, 255, 124, 165, 0, 0, 64, 237, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 255, 127, 0, 0, 0, 0, 216, 156, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 128, 200, 68, 51, 0, 0, 64, 237, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 95, 202, 149, 44, 0, 0, 161, 153, 50, 219, 84, 63, 0, 0, 64, 64, 217, 57, 14, 191, 254, 255, 68, 179, 0, 0, 92, 230, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 255, 127, 0, 0, 0, 0, 216, 156, 19, 146, 63, 63, 153, 153, 57, 64, 221, 0, 0, 191, 95, 202, 149, 44, 0, 0, 161, 153, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 250, 202, 125, 37, 0, 0, 255, 223, 243, 4, 53, 63, 0, 0, 64, 64, 243, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 223, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 255, 127, 0, 0, 0, 0, 216, 156, 218, 234, 34, 63, 153, 153, 57, 64, 218, 234, 34, 191, 250, 202, 125, 37, 0, 0, 255, 159, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 95, 202, 202, 29, 0, 0, 92, 166, 217, 57, 14, 63, 255, 255, 63, 64, 50, 219, 84, 191, 254, 255, 68, 51, 0, 0, 92, 166, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 255, 127, 0, 0, 0, 0, 216, 156, 221, 0, 0, 63, 153, 153, 57, 64, 19, 146, 63, 191, 95, 202, 202, 29, 0, 0, 92, 166, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 128, 200, 60, 21, 0, 0, 64, 173, 23, 239, 195, 62, 255, 255, 63, 64, 94, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 0, 0, 216, 156, 46, 87, 176, 62, 153, 153, 57, 64, 161, 220, 84, 191, 128, 200, 60, 21, 0, 0, 64, 173, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 43, 197, 121, 11, 0, 0, 97, 181, 193, 197, 71, 62, 255, 255, 63, 64, 191, 20, 123, 191, 254, 255, 60, 21, 0, 0, 97, 181, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 255, 127, 0, 0, 0, 0, 216, 156, 148, 203, 51, 62, 153, 153, 57, 64, 18, 249, 97, 191, 43, 197, 121, 11, 0, 0, 97, 181, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 255, 63, 0, 0, 0, 0, 255, 191, 46, 189, 187, 179, 255, 255, 63, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 255, 127, 0, 0, 0, 0, 216, 156, 16, 247, 168, 179, 153, 153, 57, 64, 102, 102, 102, 191, 255, 63, 0, 0, 0, 0, 255, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 189, 197, 71, 190, 255, 255, 63, 64, 191, 20, 123, 191, 211, 58, 121, 11, 60, 21, 255, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 211, 58, 121, 11, 60, 21, 255, 191, 144, 203, 51, 190, 153, 153, 57, 64, 18, 249, 97, 191, 255, 127, 0, 0, 0, 0, 217, 156, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 21, 239, 195, 190, 255, 255, 63, 64, 94, 131, 108, 191, 126, 55, 60, 21, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 126, 55, 60, 21, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 0, 0, 216, 156, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 219, 57, 14, 191, 255, 255, 63, 64, 48, 219, 84, 191, 159, 53, 202, 29, 68, 51, 255, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 159, 53, 202, 29, 68, 51, 255, 191, 222, 0, 0, 191, 153, 153, 57, 64, 17, 146, 63, 191, 255, 127, 0, 0, 0, 0, 216, 156, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 242, 4, 53, 191, 0, 0, 64, 64, 244, 4, 53, 191, 4, 53, 125, 37, 255, 63, 255, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 4, 53, 125, 37, 255, 63, 255, 191, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 255, 127, 0, 0, 0, 0, 216, 156, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 47, 219, 84, 191, 0, 0, 64, 64, 221, 57, 14, 191, 159, 53, 149, 44, 186, 76, 255, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 159, 53, 149, 44, 186, 76, 255, 191, 16, 146, 63, 191, 153, 153, 57, 64, 224, 0, 0, 191, 255, 127, 0, 0, 0, 0, 217, 156, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 94, 131, 108, 191, 0, 0, 64, 64, 26, 239, 195, 190, 126, 55, 68, 51, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 126, 55, 68, 51, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 255, 127, 0, 0, 0, 0, 216, 156, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 190, 20, 123, 191, 0, 0, 64, 64, 198, 197, 71, 190, 211, 58, 178, 57, 195, 106, 255, 191, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 211, 58, 178, 57, 195, 106, 255, 191, 17, 249, 97, 191, 153, 153, 57, 64, 151, 203, 51, 190, 255, 127, 0, 0, 0, 0, 216, 156, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 64, 64, 46, 222, 76, 50, 255, 63, 255, 63, 255, 127, 255, 191, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 255, 63, 255, 63, 255, 127, 255, 191, 102, 102, 102, 191, 154, 153, 57, 64, 28, 229, 221, 50, 255, 127, 0, 0, 0, 0, 216, 156, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 190, 20, 123, 191, 0, 0, 64, 64, 200, 197, 71, 62, 77, 70, 44, 69, 59, 149, 255, 191, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 77, 70, 44, 69, 59, 149, 255, 191, 17, 249, 97, 191, 154, 153, 57, 64, 155, 203, 51, 62, 255, 127, 0, 0, 0, 0, 216, 156, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 93, 131, 108, 191, 0, 0, 64, 64, 27, 239, 195, 62, 186, 76, 129, 72, 124, 165, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 186, 76, 129, 72, 124, 165, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 255, 127, 0, 0, 0, 0, 216, 156, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 51, 219, 84, 191, 0, 0, 64, 64, 215, 57, 14, 63, 105, 83, 96, 74, 68, 179, 255, 191, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 105, 83, 96, 74, 68, 179, 255, 191, 20, 146, 63, 191, 154, 153, 57, 64, 219, 0, 0, 63, 255, 127, 0, 0, 0, 0, 216, 156, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 245, 4, 53, 191, 0, 0, 64, 64, 242, 4, 53, 63, 130, 90, 250, 74, 255, 191, 255, 191, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 130, 90, 250, 74, 255, 191, 255, 191, 220, 234, 34, 191, 154, 153, 57, 64, 218, 234, 34, 63, 255, 127, 0, 0, 0, 0, 216, 156, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 219, 57, 14, 191, 1, 0, 64, 64, 49, 219, 84, 63, 53, 98, 96, 74, 186, 204, 255, 191, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 53, 98, 96, 74, 186, 204, 255, 191, 222, 0, 0, 191, 154, 153, 57, 64, 18, 146, 63, 63, 255, 127, 0, 0, 0, 0, 216, 156, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 195, 190, 1, 0, 64, 64, 95, 131, 108, 63, 195, 106, 129, 72, 129, 218, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 195, 106, 129, 72, 129, 218, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 255, 127, 0, 0, 0, 0, 216, 156, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 188, 197, 71, 190, 1, 0, 64, 64, 191, 20, 123, 63, 133, 116, 44, 69, 194, 234, 255, 191, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 133, 116, 44, 69, 194, 234, 255, 191, 143, 203, 51, 190, 154, 153, 57, 64, 18, 249, 97, 63, 255, 127, 0, 0, 0, 0, 216, 156, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 59, 149, 255, 127, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 254, 255, 255, 127, 0, 0, 255, 255, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 254, 255, 68, 51, 0, 0, 161, 217, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 254, 255, 60, 21, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 59, 149, 255, 127, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 92, 166, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 254, 255, 255, 127, 0, 0, 255, 127, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 255, 255, 186, 76, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 255, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 121, 139, 210, 186, 254, 255, 157, 202, 187, 197, 71, 62, 0, 0, 96, 64, 188, 20, 123, 63, 59, 149, 255, 127, 255, 255, 157, 202, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 201, 157, 158, 181, 254, 255, 161, 217, 217, 57, 14, 63, 0, 0, 96, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 124, 165, 4, 181, 254, 255, 255, 223, 242, 4, 53, 63, 255, 255, 95, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 149, 172, 158, 181, 255, 255, 161, 153, 48, 219, 84, 63, 255, 255, 95, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 92, 230, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 177, 185, 210, 186, 254, 255, 157, 138, 189, 20, 123, 63, 255, 255, 95, 64, 187, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 43, 197, 76, 198, 0, 0, 157, 138, 189, 20, 123, 63, 255, 255, 95, 64, 203, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 95, 202, 105, 211, 0, 0, 161, 153, 49, 219, 84, 63, 255, 255, 95, 64, 219, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 250, 202, 129, 218, 0, 0, 255, 223, 242, 4, 53, 63, 255, 255, 95, 64, 245, 4, 53, 191, 255, 255, 255, 191, 0, 0, 255, 223, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 95, 202, 52, 226, 0, 0, 161, 217, 216, 57, 14, 63, 254, 255, 95, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 128, 200, 194, 234, 0, 0, 189, 210, 19, 239, 195, 62, 254, 255, 95, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 43, 197, 133, 244, 0, 0, 157, 202, 186, 197, 71, 62, 254, 255, 95, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 74, 105, 69, 180, 254, 255, 95, 64, 0, 0, 128, 191, 255, 191, 254, 255, 0, 0, 255, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 196, 197, 71, 190, 254, 255, 95, 64, 193, 20, 123, 191, 211, 58, 133, 244, 60, 21, 255, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 0, 0, 129, 218, 125, 37, 255, 191, 25, 239, 195, 190, 254, 255, 95, 64, 96, 131, 108, 191, 126, 55, 194, 234, 125, 37, 255, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 0, 0, 186, 204, 68, 51, 255, 191, 220, 57, 14, 191, 254, 255, 95, 64, 50, 219, 84, 191, 159, 53, 52, 226, 68, 51, 255, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 48, 219, 84, 191, 255, 255, 95, 64, 223, 57, 14, 191, 159, 53, 105, 211, 186, 76, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 207, 197, 71, 190, 211, 58, 76, 198, 195, 106, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 191, 20, 123, 191, 255, 255, 95, 64, 191, 197, 71, 62, 77, 70, 210, 186, 59, 149, 255, 191, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 52, 219, 84, 191, 255, 255, 95, 64, 213, 57, 14, 63, 105, 83, 158, 181, 68, 179, 255, 191, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 246, 4, 53, 191, 255, 255, 95, 64, 240, 4, 53, 63, 130, 90, 4, 181, 255, 191, 255, 191, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 220, 57, 14, 191, 0, 0, 96, 64, 47, 219, 84, 63, 53, 98, 158, 181, 186, 204, 255, 191, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 195, 197, 71, 190, 0, 0, 96, 64, 189, 20, 123, 63, 133, 116, 210, 186, 194, 234, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 255, 191, 254, 255, 0, 0, 255, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 255, 127, 254, 255, 106, 83, 255, 191, 149, 203, 51, 62, 102, 102, 102, 64, 17, 249, 97, 191, 43, 197, 133, 244, 0, 0, 157, 202, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 255, 127, 254, 255, 105, 83, 255, 191, 45, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 191, 128, 200, 194, 234, 0, 0, 64, 173, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 255, 127, 254, 255, 104, 83, 255, 191, 222, 0, 0, 63, 102, 102, 102, 64, 18, 146, 63, 191, 95, 202, 52, 226, 0, 0, 161, 217, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 255, 127, 254, 255, 105, 83, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 250, 202, 129, 218, 0, 0, 255, 223, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 255, 127, 254, 255, 106, 83, 255, 191, 18, 146, 63, 63, 102, 102, 102, 64, 222, 0, 0, 191, 95, 202, 105, 211, 0, 0, 161, 153, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 128, 200, 186, 204, 0, 0, 190, 146, 94, 131, 108, 63, 0, 0, 96, 64, 21, 239, 195, 190, 254, 255, 124, 165, 0, 0, 64, 237, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 255, 127, 254, 255, 105, 83, 255, 191, 161, 220, 84, 63, 102, 102, 102, 64, 44, 87, 176, 190, 128, 200, 186, 204, 0, 0, 190, 146, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 63, 102, 102, 102, 64, 150, 203, 51, 190, 43, 197, 76, 198, 0, 0, 157, 138, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 255, 191, 255, 191, 0, 0, 255, 255, 0, 0, 128, 63, 0, 0, 96, 64, 46, 189, 59, 51, 254, 255, 255, 127, 255, 255, 255, 127, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 255, 127, 254, 255, 105, 83, 255, 191, 102, 102, 102, 63, 102, 102, 102, 64, 16, 247, 40, 51, 255, 191, 255, 191, 0, 0, 254, 255, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 63, 102, 102, 102, 64, 149, 203, 51, 62, 177, 185, 210, 186, 254, 255, 157, 138, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 68, 179, 125, 183, 255, 255, 64, 237, 95, 131, 108, 63, 0, 0, 96, 64, 20, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 255, 127, 254, 255, 105, 83, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 68, 179, 125, 183, 254, 255, 64, 237, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 255, 127, 254, 255, 105, 83, 255, 191, 19, 146, 63, 63, 102, 102, 102, 64, 221, 0, 0, 63, 149, 172, 158, 181, 255, 255, 92, 230, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 255, 127, 254, 255, 105, 83, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 63, 124, 165, 4, 181, 254, 255, 255, 223, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 255, 127, 254, 255, 105, 83, 255, 191, 221, 0, 0, 63, 102, 102, 102, 64, 19, 146, 63, 63, 201, 157, 158, 181, 254, 255, 161, 217, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 59, 149, 125, 183, 254, 255, 189, 210, 23, 239, 195, 62, 0, 0, 96, 64, 94, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 255, 127, 254, 255, 105, 83, 255, 191, 46, 87, 176, 62, 102, 102, 102, 64, 161, 220, 84, 63, 59, 149, 125, 183, 254, 255, 189, 210, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 255, 127, 254, 255, 104, 83, 255, 191, 148, 203, 51, 62, 102, 102, 102, 64, 18, 249, 97, 63, 121, 139, 210, 186, 254, 255, 157, 202, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 191, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 191, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 127, 255, 127, 255, 255, 255, 191, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 254, 255, 105, 83, 255, 191, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 255, 191, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 255, 127, 255, 191, 133, 244, 32, 189, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 133, 116, 210, 186, 194, 234, 255, 191, 144, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 63, 255, 127, 254, 255, 103, 83, 255, 191, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 195, 190, 0, 0, 96, 64, 94, 131, 108, 63, 195, 106, 125, 183, 129, 218, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 195, 106, 125, 183, 129, 218, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 161, 220, 84, 63, 255, 127, 254, 255, 105, 83, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 53, 98, 158, 181, 186, 204, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 17, 146, 63, 63, 255, 127, 254, 255, 106, 83, 255, 191, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 130, 90, 4, 181, 255, 191, 255, 191, 218, 234, 34, 191, 102, 102, 102, 64, 219, 234, 34, 63, 255, 127, 254, 255, 105, 83, 255, 191, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 105, 83, 158, 181, 68, 179, 255, 191, 16, 146, 63, 191, 102, 102, 102, 64, 224, 0, 0, 63, 255, 127, 254, 255, 105, 83, 255, 191, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 108, 191, 0, 0, 96, 64, 26, 239, 195, 62, 186, 76, 125, 183, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 186, 76, 125, 183, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 77, 70, 210, 186, 59, 149, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 152, 203, 51, 62, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 0, 0, 96, 64, 46, 222, 76, 178, 255, 63, 255, 191, 255, 127, 255, 191, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 255, 63, 255, 191, 255, 127, 255, 191, 102, 102, 102, 191, 102, 102, 102, 64, 143, 97, 56, 178, 255, 127, 254, 255, 105, 83, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 211, 58, 76, 198, 195, 106, 255, 191, 17, 249, 97, 191, 102, 102, 102, 64, 154, 203, 51, 190, 255, 127, 254, 255, 105, 83, 255, 191, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 108, 191, 0, 0, 96, 64, 27, 239, 195, 190, 126, 55, 186, 204, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 126, 55, 186, 204, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 255, 127, 254, 255, 105, 83, 255, 191, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 159, 53, 105, 211, 186, 76, 255, 191, 20, 146, 63, 191, 102, 102, 102, 64, 219, 0, 0, 191, 255, 127, 254, 255, 105, 83, 255, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 53, 191, 0, 0, 96, 64, 242, 4, 53, 191, 4, 53, 129, 218, 255, 63, 255, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 4, 53, 129, 218, 255, 63, 255, 191, 220, 234, 34, 191, 102, 102, 102, 64, 218, 234, 34, 191, 255, 127, 254, 255, 105, 83, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 159, 53, 52, 226, 68, 51, 255, 191, 222, 0, 0, 191, 102, 102, 102, 64, 18, 146, 63, 191, 255, 127, 254, 255, 105, 83, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 126, 55, 194, 234, 125, 37, 255, 191, 44, 87, 176, 190, 102, 102, 102, 64, 162, 220, 84, 191, 255, 127, 254, 255, 105, 83, 255, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 211, 58, 133, 244, 60, 21, 255, 191, 143, 203, 51, 190, 102, 102, 102, 64, 18, 249, 97, 191, 255, 127, 254, 255, 105, 83, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 162, 138, 118, 93, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 224, 122, 31, 26, 255, 255, 255, 191, 0, 0, 0, 0, 154, 153, 57, 64, 102, 102, 102, 63, 29, 126, 130, 29, 133, 244, 221, 194, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 254, 255, 189, 210, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 9, 213, 212, 99, 254, 255, 189, 210, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 85, 38, 105, 63, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 74, 126, 87, 5, 130, 90, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 25, 9, 244, 80, 255, 63, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 255, 127, 0, 0, 255, 63, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 178, 10, 50, 100, 59, 149, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 152, 107, 198, 27, 59, 149, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 176, 81, 255, 127, 59, 149, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 195, 190, 255, 127, 255, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 139, 90, 255, 127, 255, 255, 255, 191, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 123, 203, 255, 127, 0, 0, 189, 210, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 101, 138, 118, 253, 0, 0, 189, 210, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 230, 75, 255, 127, 255, 127, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 223, 114, 236, 243, 255, 127, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 204, 59, 255, 127, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 250, 150, 159, 225, 0, 0, 255, 191, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 43, 192, 255, 127, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 255, 153, 232, 210, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 20, 89, 255, 127, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 105, 122, 121, 206, 133, 244, 32, 189, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 61, 171, 45, 183, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 238, 124, 201, 225, 133, 244, 32, 189, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 162, 125, 63, 245, 124, 165, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 39, 140, 234, 88, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 77, 114, 34, 90, 255, 255, 255, 191, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 168, 152, 43, 73, 254, 255, 189, 210, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 255, 127, 0, 0, 254, 255, 189, 210, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 255, 127, 0, 0, 125, 37, 255, 191, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 0, 0, 45, 44, 125, 37, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 0, 0, 14, 78, 130, 90, 255, 191, 161, 220, 84, 191, 153, 153, 57, 64, 48, 87, 176, 190, 151, 95, 121, 16, 130, 90, 255, 191, 44, 87, 176, 190, 154, 153, 57, 64, 162, 220, 84, 63, 50, 115, 207, 56, 129, 218, 255, 191, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 115, 177, 14, 88, 255, 255, 190, 146, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 87, 155, 232, 35, 0, 0, 255, 255, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 70, 98, 59, 11, 0, 0, 255, 191, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 201, 44, 0, 0, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 167, 82, 221, 19, 255, 63, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 255, 127, 0, 0, 59, 149, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 190, 121, 108, 13, 186, 204, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 16, 100, 169, 113, 186, 204, 255, 191, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 86, 152, 67, 155, 255, 255, 64, 173, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 180, 166, 66, 172, 255, 255, 92, 230, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 242, 226, 167, 139, 255, 255, 92, 230, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 253, 170, 84, 237, 0, 0, 64, 237, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 102, 243, 161, 136, 0, 0, 64, 237, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 64, 224, 187, 235, 0, 0, 189, 210, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 189, 51, 163, 226, 125, 37, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 192, 12, 227, 247, 125, 37, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 222, 19, 160, 192, 255, 63, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 19, 26, 149, 155, 255, 127, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 254, 63, 2, 147, 255, 191, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 87, 102, 229, 149, 194, 234, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 34, 113, 160, 180, 194, 234, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 116, 162, 247, 251, 0, 0, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 79, 225, 194, 254, 0, 0, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 43, 147, 207, 220, 254, 255, 64, 237, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 123, 205, 208, 163, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 173, 145, 167, 178, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 28, 120, 255, 127, 133, 244, 32, 189, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 138, 120, 215, 213, 133, 244, 32, 189, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 38, 131, 133, 219, 66, 250, 188, 197, 16, 247, 168, 179, 102, 102, 102, 64, 102, 102, 102, 63, 135, 126, 17, 247, 133, 244, 32, 189, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 23, 99, 98, 207, 124, 165, 255, 191, 161, 220, 84, 191, 102, 102, 102, 64, 49, 87, 176, 62, 42, 54, 242, 153, 124, 165, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 4, 70, 139, 219, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 77, 11, 33, 174, 130, 90, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 49, 135, 183, 93, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 119, 111, 184, 98, 255, 255, 255, 191, 45, 87, 176, 62, 154, 153, 57, 64, 161, 220, 84, 63, 253, 136, 78, 16, 254, 255, 189, 210, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 204, 163, 54, 38, 0, 0, 64, 237, 162, 220, 84, 63, 153, 153, 57, 64, 42, 87, 176, 190, 223, 214, 111, 58, 0, 0, 64, 237, 44, 87, 176, 190, 153, 153, 57, 64, 161, 220, 84, 191, 224, 65, 157, 13, 125, 37, 255, 191, 160, 220, 84, 191, 154, 153, 57, 64, 51, 87, 176, 62, 65, 63, 17, 75, 124, 165, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 137, 150, 79, 97, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 134, 148, 37, 72, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 9, 155, 156, 73, 255, 255, 92, 166, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 29, 165, 129, 94, 255, 255, 161, 153, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 76, 165, 2, 55, 255, 255, 161, 153, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 245, 190, 80, 83, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 3, 179, 108, 72, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 74, 193, 104, 78, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 118, 219, 170, 81, 0, 0, 255, 255, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 237, 217, 73, 56, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 97, 202, 191, 43, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 155, 202, 189, 39, 0, 0, 255, 223, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 98, 213, 136, 36, 0, 0, 64, 173, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 178, 138, 193, 0, 0, 0, 64, 173, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 206, 220, 7, 9, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 160, 197, 10, 13, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 248, 209, 49, 1, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 208, 26, 116, 20, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 28, 35, 141, 34, 125, 37, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 61, 53, 155, 35, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 14, 48, 113, 57, 186, 76, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 178, 57, 117, 55, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 45, 59, 144, 57, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 225, 70, 3, 59, 59, 149, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 203, 67, 62, 98, 68, 179, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 60, 84, 187, 66, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 121, 90, 234, 74, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 101, 92, 84, 102, 186, 204, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 239, 147, 39, 151, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 23, 152, 249, 182, 255, 255, 64, 173, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 154, 169, 233, 168, 255, 255, 255, 159, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 39, 162, 255, 127, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 153, 172, 220, 181, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 168, 194, 162, 158, 255, 255, 190, 146, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 1, 177, 32, 219, 0, 0, 255, 127, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 54, 200, 103, 204, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 230, 201, 77, 216, 0, 0, 161, 153, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 69, 202, 239, 224, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 41, 221, 201, 228, 0, 0, 189, 210, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 64, 44, 185, 227, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 156, 53, 17, 224, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 53, 53, 225, 218, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 141, 42, 185, 203, 186, 76, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 158, 61, 52, 195, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 167, 63, 142, 192, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 146, 46, 64, 170, 59, 149, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 43, 75, 232, 163, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 78, 92, 62, 181, 255, 191, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 88, 93, 179, 165, 129, 218, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 139, 162, 188, 249, 0, 0, 255, 191, 0, 0, 0, 0, 102, 102, 102, 64, 102, 102, 102, 191, 227, 45, 61, 255, 0, 0, 255, 191, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 203, 151, 4, 215, 254, 255, 64, 237, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 60, 194, 113, 163, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 78, 144, 66, 156, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 200, 118, 192, 165, 133, 244, 32, 189, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 36, 45, 173, 194, 130, 90, 255, 191, 160, 220, 84, 191, 102, 102, 102, 64, 50, 87, 176, 190, 169, 85, 208, 239, 130, 90, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 24, 133, 199, 86, 255, 255, 255, 191, 0, 0, 0, 0, 1, 0, 64, 64, 0, 0, 128, 63, 124, 118, 231, 101, 255, 255, 255, 191, 102, 102, 102, 63, 154, 153, 57, 64, 204, 57, 208, 178, 16, 202, 119, 83, 254, 255, 254, 255, 218, 234, 34, 191, 153, 153, 57, 64, 219, 234, 34, 191, 23, 39, 125, 47, 255, 63, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 107, 146, 106, 90, 255, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 205, 147, 250, 71, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 69, 150, 159, 72, 255, 255, 92, 166, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 112, 178, 124, 88, 255, 255, 255, 159, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 168, 171, 101, 74, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 53, 175, 116, 73, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 201, 179, 238, 71, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 180, 184, 31, 69, 0, 0, 255, 255, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 56, 213, 128, 68, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 152, 200, 186, 50, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 38, 201, 200, 48, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 236, 227, 231, 54, 0, 0, 255, 223, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 203, 233, 118, 45, 0, 0, 161, 217, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 194, 211, 10, 26, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 110, 197, 160, 12, 0, 0, 157, 202, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 230, 208, 17, 9, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 107, 30, 44, 20, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 120, 55, 181, 21, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 254, 34, 233, 36, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 32, 53, 135, 37, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 188, 26, 129, 55, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 2, 41, 131, 68, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 248, 58, 114, 57, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 183, 60, 206, 59, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 158, 63, 9, 63, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 162, 71, 103, 82, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 103, 83, 61, 74, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 105, 86, 136, 74, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 56, 92, 176, 74, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 211, 96, 222, 98, 129, 218, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 208, 146, 63, 151, 255, 255, 157, 202, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 145, 150, 61, 183, 255, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 72, 162, 242, 175, 255, 255, 92, 166, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 188, 165, 34, 181, 255, 255, 255, 159, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 196, 173, 237, 182, 255, 255, 92, 230, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 34, 182, 19, 185, 255, 255, 190, 146, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 213, 184, 135, 186, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 80, 195, 30, 190, 0, 0, 255, 127, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 192, 196, 22, 198, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 177, 198, 190, 201, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 79, 195, 122, 215, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 99, 202, 29, 223, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 52, 201, 29, 231, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 102, 200, 150, 234, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 209, 203, 195, 239, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 3, 192, 196, 255, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 143, 44, 77, 235, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 159, 55, 205, 234, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 87, 54, 168, 225, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 96, 53, 99, 215, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 188, 53, 31, 212, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 109, 41, 100, 199, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 251, 63, 202, 192, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 203, 67, 0, 189, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 71, 70, 10, 187, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 183, 58, 57, 169, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 105, 73, 213, 158, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 140, 90, 35, 181, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 165, 89, 151, 160, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 27, 106, 121, 183, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 189, 109, 76, 160, 194, 234, 255, 191, 218, 234, 34, 63, 102, 102, 102, 64, 218, 234, 34, 191, 81, 222, 2, 208, 0, 0, 255, 223, 162, 220, 84, 63, 102, 102, 102, 64, 43, 87, 176, 62, 120, 187, 26, 170, 254, 255, 64, 237, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 112, 141, 23, 159, 66, 250, 188, 197, 46, 189, 187, 179, 0, 0, 96, 64, 0, 0, 128, 63, 112, 122, 204, 166, 133, 244, 32, 189)
+}, {
+"aabb": AABB(-1, 3.1, -1, 2, 0.3, 2.00001),
+"attribute_data": PackedByteArray(0, 0, 0, 0, 242, 255, 127, 63, 0, 0, 128, 63, 242, 255, 127, 63, 0, 0, 0, 61, 242, 255, 127, 63, 4, 0, 128, 61, 242, 255, 127, 63, 0, 0, 192, 61, 242, 255, 127, 63, 0, 0, 0, 62, 0, 0, 128, 63, 254, 255, 31, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 96, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 144, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 208, 62, 6, 0, 128, 63, 0, 0, 224, 62, 6, 0, 128, 63, 0, 0, 240, 62, 6, 0, 128, 63, 0, 0, 0, 63, 6, 0, 128, 63, 0, 0, 8, 63, 6, 0, 128, 63, 0, 0, 16, 63, 6, 0, 128, 63, 0, 0, 24, 63, 6, 0, 128, 63, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 40, 63, 0, 0, 128, 63, 0, 0, 48, 63, 0, 0, 128, 63, 0, 0, 56, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 72, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 104, 63, 242, 255, 127, 63, 0, 0, 112, 63, 242, 255, 127, 63, 0, 0, 120, 63, 242, 255, 127, 63, 0, 0, 0, 0, 0, 0, 64, 181, 0, 0, 128, 63, 0, 0, 64, 181, 0, 0, 0, 61, 0, 0, 128, 180, 4, 0, 128, 61, 0, 0, 64, 181, 0, 0, 192, 61, 0, 0, 64, 181, 0, 0, 0, 62, 0, 0, 0, 52, 2, 0, 32, 62, 0, 0, 0, 52, 0, 0, 64, 62, 0, 0, 0, 52, 0, 0, 96, 62, 0, 0, 0, 52, 0, 0, 128, 62, 0, 0, 0, 52, 0, 0, 144, 62, 0, 0, 0, 52, 0, 0, 160, 62, 0, 0, 0, 52, 0, 0, 176, 62, 0, 0, 0, 52, 0, 0, 192, 62, 0, 0, 0, 52, 0, 0, 208, 62, 0, 0, 128, 53, 0, 0, 224, 62, 0, 0, 128, 53, 0, 0, 240, 62, 0, 0, 128, 53, 0, 0, 0, 63, 0, 0, 128, 53, 0, 0, 8, 63, 0, 0, 128, 53, 0, 0, 16, 63, 0, 0, 128, 53, 0, 0, 24, 63, 0, 0, 128, 53, 0, 0, 32, 63, 0, 0, 0, 52, 255, 255, 39, 63, 0, 0, 0, 52, 0, 0, 48, 63, 0, 0, 0, 52, 0, 0, 56, 63, 0, 0, 0, 52, 0, 0, 64, 63, 0, 0, 0, 52, 0, 0, 72, 63, 0, 0, 0, 52, 0, 0, 80, 63, 0, 0, 0, 52, 255, 255, 87, 63, 0, 0, 0, 52, 255, 255, 95, 63, 0, 0, 0, 52, 0, 0, 104, 63, 0, 0, 64, 181, 0, 0, 112, 63, 0, 0, 64, 181, 0, 0, 120, 63, 0, 0, 64, 181, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 128, 63),
+"format": 4119,
"index_count": 192,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 66
-}
-
-[sub_resource type="ConvexPolygonShape" id=5]
-points = PoolVector3Array( -0.000195742, 2.99997, -1, -0.000195742, 3.49996, -1, 0.194988, 2.99997, -0.980814, -0.000195742, 2.9, -0.900157, -0.195184, 2.99997, -0.980814, -0.195184, 3.49996, -0.980814, 0, 3.6, -0.900157, 0.194988, 3.49996, -0.980814, 0.382537, 2.99997, -0.924041, 0.344362, 2.9, -0.831637, 0.175411, 2.9, -0.882733, -0.175607, 2.9, -0.882733, -0.344558, 2.9, -0.831637, -0.382733, 2.99997, -0.924041, -0.382733, 3.49996, -0.924041, -0.344558, 3.6, -0.831637, -0.175607, 3.6, -0.882733, 0.175411, 3.6, -0.882733, 0.344362, 3.6, -0.831637, 0.382537, 3.49996, -0.924041, 0.555403, 2.99997, -0.831637, 0.5, 2.9, -0.748434, -0.500196, 2.9, -0.748434, -0.555599, 2.99997, -0.831637, -0.555599, 3.49996, -0.831637, -0.500196, 3.6, -0.748434, 0.5, 3.6, -0.748434, 0.555403, 3.49996, -0.831637, 0.70693, 2.99997, -0.707126, 0.636257, 2.9, -0.636453, -0.636453, 2.9, -0.636453, -0.707126, 2.99997, -0.707126, -0.707126, 3.49996, -0.707126, -0.636453, 3.6, -0.636453, 0.636257, 3.6, -0.636453, 0.70693, 3.49996, -0.707126, 0.831441, 2.99997, -0.555599, 0.748238, 2.9, -0.500196, -0.748434, 2.9, -0.500196, -0.831637, 2.99997, -0.555599, -0.831637, 3.49996, -0.555599, -0.748434, 3.6, -0.500196, 0.748238, 3.6, -0.500196, 0.831441, 3.49996, -0.555599, 0.923845, 2.99997, -0.382733, 0.831441, 2.9, -0.344558, -0.831637, 2.9, -0.344558, -0.924041, 2.99997, -0.382733, -0.831637, 3.6, -0.344558, -0.924041, 3.49996, -0.382733, 0.831441, 3.6, -0.344558, 0.923845, 3.49996, -0.382733, 0.980619, 2.99997, -0.195184, 0.882537, 2.9, -0.175607, -0.882733, 2.9, -0.175607, -0.980814, 2.99997, -0.195184, -0.980814, 3.49996, -0.195184, -0.882733, 3.6, -0.175607, 0.882537, 3.6, -0.175607, 0.980619, 3.49996, -0.195184, 1, 2.99997, -0.000195742, 0.899961, 2.9, 0, -0.900157, 2.9, 0, -1, 2.99997, 0, -1, 3.09994, -0.000195742, -1, 3.39999, -0.000195742, -1, 3.49996, 0, -0.900157, 3.6, 0, 0.899961, 3.6, 0, 1, 3.49996, 0, 1, 3.39999, -0.000195742, 0.980619, 2.99997, 0.194988, 0.882537, 2.9, 0.175411, -0.882733, 2.9, 0.175411, -0.980814, 2.99997, 0.194988, -0.980814, 3.49996, 0.194988, -0.882733, 3.6, 0.175411, 0.882537, 3.6, 0.175411, 0.980619, 3.49996, 0.194988, 0.923845, 2.99997, 0.382537, 0.831441, 2.9, 0.344362, -0.831637, 2.9, 0.344362, -0.924041, 2.99997, 0.382537, -0.924041, 3.49996, 0.382537, -0.831637, 3.6, 0.344362, 0.831441, 3.6, 0.344362, 0.923845, 3.49996, 0.382537, 0.831441, 2.99997, 0.555403, 0.748238, 2.9, 0.5, -0.748434, 2.9, 0.5, -0.831637, 2.99997, 0.555403, -0.831637, 3.49996, 0.555403, -0.748434, 3.6, 0.5, 0.748238, 3.6, 0.5, 0.831441, 3.49996, 0.555403, 0.70693, 2.99997, 0.70693, 0.636257, 2.9, 0.636257, -0.707126, 2.99997, 0.70693, -0.636453, 2.9, 0.636257, -0.707126, 3.49996, 0.70693, -0.636453, 3.6, 0.636257, 0.70693, 3.49996, 0.70693, 0.636257, 3.6, 0.636257, 0.555403, 2.99997, 0.831441, 0.5, 2.9, 0.748238, -0.500196, 2.9, 0.748238, -0.555599, 2.99997, 0.831441, -0.555599, 3.49996, 0.831441, -0.500196, 3.6, 0.748238, 0.5, 3.6, 0.748238, 0.555403, 3.49996, 0.831441, 0.382537, 2.99997, 0.923845, 0.344362, 2.9, 0.831441, -0.344558, 2.9, 0.831441, -0.382733, 2.99997, 0.923845, -0.382733, 3.49996, 0.923845, -0.344558, 3.6, 0.831441, 0.344362, 3.6, 0.831441, 0.382537, 3.49996, 0.923845, 0.194988, 2.99997, 0.980619, 0.175411, 2.9, 0.882537, -0.175607, 2.9, 0.882537, -0.195184, 2.99997, 0.980619, -0.195184, 3.49996, 0.980619, -0.175607, 3.6, 0.882537, 0.175411, 3.6, 0.882537, 0.194988, 3.49996, 0.980619, 0, 2.99997, 1, 0, 2.9, 0.899961, -0.000195742, 3.09994, 1, -0.000195742, 3.49996, 1, -0.000195742, 3.6, 0.899961 )
-
-[sub_resource type="ArrayMesh" id=3]
+"index_data": PackedByteArray(13, 0, 47, 0, 14, 0, 13, 0, 46, 0, 47, 0, 27, 0, 61, 0, 28, 0, 27, 0, 60, 0, 61, 0, 14, 0, 48, 0, 15, 0, 14, 0, 47, 0, 48, 0, 0, 0, 35, 0, 2, 0, 0, 0, 33, 0, 35, 0, 28, 0, 62, 0, 29, 0, 28, 0, 61, 0, 62, 0, 15, 0, 49, 0, 16, 0, 15, 0, 48, 0, 49, 0, 2, 0, 36, 0, 3, 0, 2, 0, 35, 0, 36, 0, 29, 0, 63, 0, 30, 0, 29, 0, 62, 0, 63, 0, 16, 0, 50, 0, 17, 0, 16, 0, 49, 0, 50, 0, 3, 0, 37, 0, 4, 0, 3, 0, 36, 0, 37, 0, 30, 0, 64, 0, 31, 0, 30, 0, 63, 0, 64, 0, 17, 0, 51, 0, 18, 0, 17, 0, 50, 0, 51, 0, 4, 0, 38, 0, 5, 0, 4, 0, 37, 0, 38, 0, 31, 0, 65, 0, 32, 0, 31, 0, 64, 0, 65, 0, 18, 0, 52, 0, 19, 0, 18, 0, 51, 0, 52, 0, 5, 0, 39, 0, 6, 0, 5, 0, 38, 0, 39, 0, 32, 0, 34, 0, 1, 0, 32, 0, 65, 0, 34, 0, 19, 0, 53, 0, 20, 0, 19, 0, 52, 0, 53, 0, 6, 0, 40, 0, 7, 0, 6, 0, 39, 0, 40, 0, 20, 0, 54, 0, 21, 0, 20, 0, 53, 0, 54, 0, 7, 0, 41, 0, 8, 0, 7, 0, 40, 0, 41, 0, 21, 0, 55, 0, 22, 0, 21, 0, 54, 0, 55, 0, 8, 0, 42, 0, 9, 0, 8, 0, 41, 0, 42, 0, 22, 0, 56, 0, 23, 0, 22, 0, 55, 0, 56, 0, 9, 0, 43, 0, 10, 0, 9, 0, 42, 0, 43, 0, 23, 0, 57, 0, 24, 0, 23, 0, 56, 0, 57, 0, 10, 0, 44, 0, 11, 0, 10, 0, 43, 0, 44, 0, 24, 0, 58, 0, 25, 0, 24, 0, 57, 0, 58, 0, 11, 0, 45, 0, 12, 0, 11, 0, 44, 0, 45, 0, 25, 0, 59, 0, 26, 0, 25, 0, 58, 0, 59, 0, 12, 0, 46, 0, 13, 0, 12, 0, 45, 0, 46, 0, 26, 0, 60, 0, 27, 0, 26, 0, 59, 0, 60, 0),
+"lods": [0.0279969, PackedByteArray(0, 0, 37, 0, 3, 0, 0, 0, 33, 0, 37, 0, 3, 0, 37, 0, 39, 0, 3, 0, 39, 0, 7, 0, 7, 0, 39, 0, 41, 0, 7, 0, 41, 0, 9, 0, 9, 0, 41, 0, 43, 0, 9, 0, 43, 0, 11, 0, 11, 0, 43, 0, 45, 0, 11, 0, 45, 0, 12, 0, 12, 0, 45, 0, 48, 0, 12, 0, 48, 0, 14, 0, 14, 0, 48, 0, 50, 0, 14, 0, 50, 0, 18, 0, 18, 0, 50, 0, 52, 0, 18, 0, 52, 0, 20, 0, 20, 0, 52, 0, 54, 0, 20, 0, 54, 0, 22, 0, 22, 0, 54, 0, 56, 0, 22, 0, 56, 0, 24, 0, 24, 0, 56, 0, 58, 0, 24, 0, 58, 0, 26, 0, 26, 0, 58, 0, 62, 0, 26, 0, 62, 0, 28, 0, 28, 0, 62, 0, 64, 0, 28, 0, 64, 0, 32, 0, 32, 0, 64, 0, 34, 0, 32, 0, 34, 0, 1, 0), 0.105563, PackedByteArray(0, 0, 37, 0, 7, 0, 0, 0, 33, 0, 37, 0, 7, 0, 37, 0, 45, 0, 7, 0, 45, 0, 11, 0, 11, 0, 45, 0, 48, 0, 11, 0, 48, 0, 18, 0, 18, 0, 48, 0, 56, 0, 18, 0, 56, 0, 22, 0, 22, 0, 56, 0, 58, 0, 22, 0, 58, 0, 26, 0, 26, 0, 58, 0, 62, 0, 26, 0, 62, 0, 28, 0, 28, 0, 62, 0, 34, 0, 28, 0, 34, 0, 1, 0), 0.486893, PackedByteArray(0, 0, 37, 0, 66, 0, 0, 0, 33, 0, 37, 0, 66, 0, 37, 0, 48, 0, 7, 0, 48, 0, 28, 0, 28, 0, 48, 0, 62, 0, 67, 0, 62, 0, 34, 0, 67, 0, 34, 0, 1, 0)],
+"material": SubResource("StandardMaterial3D_2ke00"),
+"primitive": 3,
+"vertex_count": 68,
+"vertex_data": PackedByteArray(63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 254, 255, 255, 191, 63, 150, 99, 179, 103, 102, 70, 64, 255, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 190, 197, 71, 62, 103, 102, 70, 64, 189, 20, 123, 63, 59, 149, 255, 127, 254, 255, 97, 181, 20, 239, 195, 62, 103, 102, 70, 64, 93, 131, 108, 63, 124, 165, 255, 127, 255, 255, 64, 173, 217, 57, 14, 63, 103, 102, 70, 64, 48, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 102, 102, 70, 64, 242, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 102, 102, 70, 64, 217, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 129, 218, 255, 127, 255, 255, 190, 146, 189, 20, 123, 63, 102, 102, 70, 64, 192, 197, 71, 62, 194, 234, 255, 127, 255, 255, 157, 138, 255, 255, 127, 63, 102, 102, 70, 64, 22, 35, 218, 179, 254, 255, 255, 127, 0, 0, 255, 127, 189, 20, 123, 63, 102, 102, 70, 64, 198, 197, 71, 190, 254, 255, 59, 149, 0, 0, 96, 245, 94, 131, 108, 63, 102, 102, 70, 64, 22, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 102, 102, 70, 64, 218, 57, 14, 191, 255, 255, 68, 179, 0, 0, 92, 230, 242, 4, 53, 63, 102, 102, 70, 64, 244, 4, 53, 191, 254, 255, 255, 63, 0, 0, 255, 159, 216, 57, 14, 63, 101, 102, 70, 64, 51, 219, 84, 191, 254, 255, 68, 51, 0, 0, 92, 166, 21, 239, 195, 62, 101, 102, 70, 64, 95, 131, 108, 191, 254, 255, 125, 37, 0, 0, 64, 173, 189, 197, 71, 62, 101, 102, 70, 64, 192, 20, 123, 191, 254, 255, 60, 21, 0, 0, 97, 181, 39, 196, 22, 180, 101, 102, 70, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 193, 197, 71, 190, 101, 102, 70, 64, 192, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 23, 239, 195, 190, 101, 102, 70, 64, 95, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 101, 102, 70, 64, 49, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 102, 102, 70, 64, 245, 4, 53, 191, 0, 0, 255, 63, 255, 63, 255, 191, 48, 219, 84, 191, 102, 102, 70, 64, 222, 57, 14, 191, 0, 0, 186, 76, 186, 76, 255, 191, 95, 131, 108, 191, 102, 102, 70, 64, 28, 239, 195, 190, 0, 0, 130, 90, 130, 90, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 202, 197, 71, 190, 0, 0, 195, 106, 195, 106, 255, 191, 0, 0, 128, 191, 102, 102, 70, 64, 116, 81, 69, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 102, 102, 70, 64, 196, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 102, 102, 70, 64, 25, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 102, 102, 70, 64, 241, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 103, 102, 70, 64, 48, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 23, 239, 195, 190, 103, 102, 70, 64, 94, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 192, 197, 71, 190, 103, 102, 70, 64, 190, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 254, 255, 255, 191, 98, 198, 153, 179, 154, 153, 89, 64, 254, 255, 127, 63, 255, 127, 255, 127, 255, 255, 255, 191, 189, 197, 71, 62, 154, 153, 89, 64, 188, 20, 123, 63, 59, 149, 255, 127, 254, 255, 97, 181, 19, 239, 195, 62, 154, 153, 89, 64, 92, 131, 108, 63, 124, 165, 255, 127, 254, 255, 64, 173, 217, 57, 14, 63, 154, 153, 89, 64, 47, 219, 84, 63, 68, 179, 255, 127, 255, 255, 161, 217, 242, 4, 53, 63, 153, 153, 89, 64, 241, 4, 53, 63, 255, 191, 255, 127, 255, 255, 255, 223, 48, 219, 84, 63, 153, 153, 89, 64, 216, 57, 14, 63, 186, 204, 255, 127, 255, 255, 161, 153, 93, 131, 108, 63, 153, 153, 89, 64, 17, 239, 195, 62, 129, 218, 255, 127, 255, 255, 64, 237, 189, 20, 123, 63, 153, 153, 89, 64, 188, 197, 71, 62, 194, 234, 255, 127, 255, 255, 96, 245, 255, 255, 127, 63, 153, 153, 89, 64, 203, 51, 43, 180, 254, 255, 255, 127, 0, 0, 255, 255, 189, 20, 123, 63, 153, 153, 89, 64, 202, 197, 71, 190, 255, 255, 195, 106, 0, 0, 157, 138, 94, 131, 108, 63, 153, 153, 89, 64, 24, 239, 195, 190, 255, 255, 124, 165, 0, 0, 64, 237, 49, 219, 84, 63, 153, 153, 89, 64, 219, 57, 14, 191, 255, 255, 186, 76, 0, 0, 161, 153, 242, 4, 53, 63, 153, 153, 89, 64, 245, 4, 53, 191, 255, 255, 255, 63, 0, 0, 255, 223, 216, 57, 14, 63, 152, 153, 89, 64, 52, 219, 84, 191, 255, 255, 186, 204, 0, 0, 161, 217, 20, 239, 195, 62, 152, 153, 89, 64, 96, 131, 108, 191, 255, 255, 129, 218, 0, 0, 189, 210, 188, 197, 71, 62, 152, 153, 89, 64, 193, 20, 123, 191, 254, 255, 194, 234, 0, 0, 157, 202, 200, 193, 42, 180, 152, 153, 89, 64, 0, 0, 128, 191, 0, 0, 0, 0, 0, 0, 255, 191, 194, 197, 71, 190, 152, 153, 89, 64, 193, 20, 123, 191, 0, 0, 60, 21, 60, 21, 255, 191, 24, 239, 195, 190, 152, 153, 89, 64, 96, 131, 108, 191, 0, 0, 125, 37, 125, 37, 255, 191, 220, 57, 14, 191, 152, 153, 89, 64, 50, 219, 84, 191, 0, 0, 68, 51, 68, 51, 255, 191, 243, 4, 53, 191, 153, 153, 89, 64, 246, 4, 53, 191, 0, 0, 255, 191, 255, 63, 255, 191, 48, 219, 84, 191, 153, 153, 89, 64, 223, 57, 14, 191, 0, 0, 68, 179, 186, 76, 255, 191, 95, 131, 108, 191, 153, 153, 89, 64, 30, 239, 195, 190, 0, 0, 124, 165, 130, 90, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 206, 197, 71, 190, 0, 0, 59, 149, 195, 106, 255, 191, 0, 0, 128, 191, 153, 153, 89, 64, 58, 237, 222, 179, 0, 0, 255, 127, 255, 127, 255, 191, 191, 20, 123, 191, 153, 153, 89, 64, 192, 197, 71, 62, 60, 21, 255, 127, 59, 149, 255, 191, 94, 131, 108, 191, 153, 153, 89, 64, 23, 239, 195, 62, 125, 37, 255, 127, 124, 165, 255, 191, 52, 219, 84, 191, 153, 153, 89, 64, 213, 57, 14, 63, 68, 51, 255, 127, 68, 179, 255, 191, 246, 4, 53, 191, 153, 153, 89, 64, 240, 4, 53, 63, 255, 63, 255, 127, 255, 191, 255, 191, 220, 57, 14, 191, 154, 153, 89, 64, 47, 219, 84, 63, 186, 76, 255, 127, 186, 204, 255, 191, 24, 239, 195, 190, 154, 153, 89, 64, 93, 131, 108, 63, 130, 90, 255, 127, 129, 218, 255, 191, 193, 197, 71, 190, 154, 153, 89, 64, 189, 20, 123, 63, 195, 106, 255, 127, 194, 234, 255, 191, 93, 131, 108, 63, 102, 102, 70, 64, 19, 239, 195, 62, 208, 203, 255, 127, 255, 255, 190, 146, 52, 219, 84, 191, 102, 102, 70, 64, 214, 57, 14, 63, 138, 75, 255, 127, 68, 179, 255, 191)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_kdkqu")
+
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_dma6l"]
+points = PackedVector3Array(-0.000195742, 2.99997, -1, -0.000195742, 3.49996, -1, 0.194988, 2.99997, -0.980814, -0.000195742, 2.9, -0.900157, -0.195184, 2.99997, -0.980814, -0.195184, 3.49996, -0.980814, 0, 3.6, -0.900157, 0.194988, 3.49996, -0.980814, 0.382537, 2.99997, -0.924041, 0.344362, 2.9, -0.831637, 0.175411, 2.9, -0.882733, -0.175607, 2.9, -0.882733, -0.344558, 2.9, -0.831637, -0.382733, 2.99997, -0.924041, -0.175607, 3.6, -0.882733, -0.382733, 3.49996, -0.924041, -0.344558, 3.6, -0.831637, 0.175411, 3.6, -0.882733, 0.344362, 3.6, -0.831637, 0.382537, 3.49996, -0.924041, 0.555403, 2.99997, -0.831637, 0.5, 2.9, -0.748434, -0.500196, 2.9, -0.748434, -0.555599, 2.99997, -0.831637, -0.555599, 3.49996, -0.831637, -0.500196, 3.6, -0.748434, 0.5, 3.6, -0.748434, 0.555403, 3.49996, -0.831637, 0.70693, 2.99997, -0.707126, 0.636257, 2.9, -0.636453, -0.636453, 2.9, -0.636453, -0.707126, 2.99997, -0.707126, -0.707126, 3.49996, -0.707126, -0.636453, 3.6, -0.636453, 0.636257, 3.6, -0.636453, 0.70693, 3.49996, -0.707126, 0.831441, 2.99997, -0.555599, 0.748238, 2.9, -0.500196, -0.748434, 2.9, -0.500196, -0.831637, 2.99997, -0.555599, -0.831637, 3.49996, -0.555599, -0.748434, 3.6, -0.500196, 0.748238, 3.6, -0.500196, 0.831441, 3.49996, -0.555599, 0.923845, 2.99997, -0.382733, 0.831441, 2.9, -0.344558, -0.831637, 2.9, -0.344558, -0.924041, 2.99997, -0.382733, -0.831637, 3.6, -0.344558, -0.924041, 3.49996, -0.382733, 0.831441, 3.6, -0.344558, 0.923845, 3.49996, -0.382733, 0.980619, 2.99997, -0.195184, 0.882537, 2.9, -0.175607, -0.882733, 2.9, -0.175607, -0.980814, 2.99997, -0.195184, -0.980814, 3.49996, -0.195184, -0.882733, 3.6, -0.175607, 0.882537, 3.6, -0.175607, 0.980619, 3.49996, -0.195184, 1, 2.99997, -0.000195742, 0.899961, 2.9, 0, -0.900157, 2.9, 0, -1, 2.99997, 0, -1, 3.09994, -0.000195742, -1, 3.39999, -0.000195742, -1, 3.49996, 0, -0.900157, 3.6, 0, 0.899961, 3.6, 0, 1, 3.49996, 0, 1, 3.39999, -0.000195742, 0.980619, 2.99997, 0.194988, 0.882537, 2.9, 0.175411, -0.882733, 2.9, 0.175411, -0.980814, 2.99997, 0.194988, -0.980814, 3.49996, 0.194988, -0.882733, 3.6, 0.175411, 0.882537, 3.6, 0.175411, 0.980619, 3.49996, 0.194988, 0.923845, 2.99997, 0.382537, 0.831441, 2.9, 0.344362, -0.831637, 2.9, 0.344362, -0.924041, 2.99997, 0.382537, -0.924041, 3.49996, 0.382537, -0.831637, 3.6, 0.344362, 0.831441, 3.6, 0.344362, 0.923845, 3.49996, 0.382537, 0.831441, 2.99997, 0.555403, 0.748238, 2.9, 0.5, -0.748434, 2.9, 0.5, -0.831637, 2.99997, 0.555403, -0.831637, 3.49996, 0.555403, -0.748434, 3.6, 0.5, 0.748238, 3.6, 0.5, 0.831441, 3.49996, 0.555403, 0.70693, 2.99997, 0.70693, 0.636257, 2.9, 0.636257, -0.707126, 2.99997, 0.70693, -0.636453, 2.9, 0.636257, -0.707126, 3.49996, 0.70693, -0.636453, 3.6, 0.636257, 0.70693, 3.49996, 0.70693, 0.636257, 3.6, 0.636257, 0.555403, 2.99997, 0.831441, 0.5, 2.9, 0.748238, -0.500196, 2.9, 0.748238, -0.555599, 2.99997, 0.831441, -0.555599, 3.49996, 0.831441, -0.500196, 3.6, 0.748238, 0.5, 3.6, 0.748238, 0.555403, 3.49996, 0.831441, 0.382537, 2.99997, 0.923845, 0.344362, 2.9, 0.831441, -0.344558, 2.9, 0.831441, -0.382733, 2.99997, 0.923845, -0.382733, 3.49996, 0.923845, -0.344558, 3.6, 0.831441, 0.344362, 3.6, 0.831441, 0.382537, 3.49996, 0.923845, 0.194988, 2.99997, 0.980619, 0.175411, 2.9, 0.882537, -0.175607, 2.9, 0.882537, -0.195184, 2.99997, 0.980619, -0.195184, 3.49996, 0.980619, -0.175607, 3.6, 0.882537, 0.175411, 3.6, 0.882537, 0.194988, 3.49996, 0.980619, 0, 2.99997, 1, 0, 2.9, 0.899961, -0.000195742, 3.09994, 1, -0.000195742, 3.49996, 1, -0.000195742, 3.6, 0.899961)
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_37d4w"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_4xmya"]
+_surfaces = [{
+"aabb": AABB(-0.85, -1.4, -0.85, 1.7, 2.8, 1.7),
+"format": 4097,
+"index_count": 192,
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 35, 0, 33, 0, 32, 0, 34, 0, 35, 0, 34, 0, 37, 0, 35, 0, 34, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 1, 0, 63, 0, 62, 0, 0, 0, 1, 0),
+"lods": [0.0371179, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 62, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 62, 0, 5, 0, 63, 0, 10, 0, 14, 0, 13, 0, 60, 0, 62, 0, 63, 0, 14, 0, 17, 0, 13, 0, 60, 0, 63, 0, 59, 0, 14, 0, 18, 0, 17, 0, 56, 0, 60, 0, 59, 0, 18, 0, 21, 0, 17, 0, 56, 0, 59, 0, 55, 0, 18, 0, 22, 0, 21, 0, 52, 0, 56, 0, 55, 0, 22, 0, 25, 0, 21, 0, 52, 0, 55, 0, 51, 0, 22, 0, 26, 0, 25, 0, 48, 0, 52, 0, 51, 0, 26, 0, 29, 0, 25, 0, 48, 0, 51, 0, 47, 0, 26, 0, 30, 0, 29, 0, 30, 0, 33, 0, 29, 0, 30, 0, 32, 0, 33, 0, 44, 0, 48, 0, 47, 0, 44, 0, 47, 0, 43, 0, 40, 0, 44, 0, 43, 0, 40, 0, 43, 0, 39, 0, 36, 0, 40, 0, 39, 0, 36, 0, 39, 0, 35, 0, 32, 0, 36, 0, 35, 0, 32, 0, 35, 0, 33, 0), 0.139951, PackedByteArray(10, 0, 21, 0, 5, 0, 10, 0, 18, 0, 21, 0, 18, 0, 29, 0, 21, 0, 18, 0, 26, 0, 29, 0, 26, 0, 33, 0, 29, 0, 26, 0, 32, 0, 33, 0, 60, 0, 10, 0, 5, 0, 60, 0, 5, 0, 63, 0, 52, 0, 60, 0, 63, 0, 52, 0, 63, 0, 55, 0, 44, 0, 52, 0, 55, 0, 44, 0, 55, 0, 47, 0, 36, 0, 44, 0, 47, 0, 36, 0, 47, 0, 39, 0, 32, 0, 36, 0, 39, 0, 32, 0, 39, 0, 33, 0), 0.399284, PackedByteArray(10, 0, 21, 0, 5, 0, 10, 0, 26, 0, 21, 0, 26, 0, 32, 0, 33, 0, 26, 0, 33, 0, 21, 0, 32, 0, 39, 0, 33, 0, 32, 0, 44, 0, 39, 0, 44, 0, 5, 0, 39, 0, 44, 0, 10, 0, 5, 0), 0.844305, PackedByteArray(10, 0, 33, 0, 39, 0, 10, 0, 32, 0, 33, 0, 32, 0, 39, 0, 33, 0, 32, 0, 10, 0, 39, 0)],
+"primitive": 3,
+"vertex_count": 64,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_b4xkm"]
resource_name = "teleport_Cylinder"
-surfaces/0 = {
-"aabb": AABB( -0.85, -1.4, -0.85, 1.7, 2.8, 1.7 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 127, 126, 129, 63, 0, 56, 0, 0, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 127, 105, 129, 74, 128, 55, 0, 60, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 127, 105, 129, 74, 128, 55, 0, 0, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 127, 89, 129, 82, 0, 55, 0, 60, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 127, 89, 129, 82, 0, 55, 0, 0, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 127, 76, 129, 88, 128, 54, 0, 60, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 127, 76, 129, 88, 128, 54, 0, 0, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 127, 63, 129, 95, 0, 54, 0, 60, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 127, 63, 129, 95, 0, 54, 0, 0, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 127, 50, 129, 101, 128, 53, 0, 60, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 127, 50, 129, 101, 128, 53, 0, 0, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 127, 37, 129, 108, 0, 53, 0, 60, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 127, 37, 129, 108, 0, 53, 0, 0, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 127, 21, 129, 116, 128, 52, 0, 60, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 127, 21, 129, 116, 128, 52, 0, 0, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 127, 0, 127, 127, 0, 52, 0, 60, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 127, 0, 127, 127, 0, 52, 0, 0, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 105, 0, 127, 116, 0, 51, 0, 60, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 105, 0, 127, 116, 0, 51, 0, 0, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 89, 0, 127, 108, 0, 50, 0, 60, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 89, 0, 127, 108, 0, 50, 0, 0, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 76, 0, 127, 101, 0, 49, 0, 60, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 76, 0, 127, 101, 0, 49, 0, 0, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 63, 0, 127, 95, 0, 48, 0, 60, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 63, 0, 127, 95, 0, 48, 0, 0, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 50, 0, 127, 88, 0, 46, 0, 60, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 50, 0, 127, 88, 0, 46, 0, 0, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 37, 0, 127, 82, 0, 44, 0, 60, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 37, 0, 127, 82, 0, 44, 0, 0, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 21, 0, 127, 74, 0, 40, 0, 60, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 21, 0, 127, 74, 0, 40, 0, 0, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 127, 63, 0, 0, 0, 60, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 126, 63, 0, 60, 0, 60, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 0, 0, 127, 63, 0, 0, 0, 0, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 0, 0, 126, 63, 0, 60, 0, 0, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 235, 0, 105, 63, 192, 59, 0, 60, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 235, 0, 105, 63, 192, 59, 0, 0, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 219, 0, 89, 63, 128, 59, 0, 60, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 219, 0, 89, 63, 128, 59, 0, 0, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 206, 0, 76, 63, 64, 59, 0, 60, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 206, 0, 76, 63, 64, 59, 0, 0, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 193, 0, 63, 63, 0, 59, 0, 60, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 193, 0, 63, 63, 0, 59, 0, 0, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 180, 0, 50, 63, 192, 58, 0, 60, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 180, 0, 50, 63, 192, 58, 0, 0, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 167, 0, 37, 63, 128, 58, 0, 60, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 167, 0, 37, 63, 128, 58, 0, 0, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 151, 0, 21, 63, 64, 58, 0, 60, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 151, 0, 21, 63, 64, 58, 0, 0, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 129, 0, 0, 63, 0, 58, 0, 60, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 129, 0, 0, 63, 0, 58, 0, 0, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 129, 21, 235, 63, 192, 57, 0, 60, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 129, 21, 235, 63, 192, 57, 0, 0, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 129, 37, 219, 63, 127, 57, 0, 60, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 129, 37, 219, 63, 127, 57, 0, 0, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 129, 50, 206, 63, 64, 57, 0, 60, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 129, 50, 206, 63, 64, 57, 0, 0, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 129, 63, 193, 63, 0, 57, 0, 60, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 129, 63, 193, 63, 0, 57, 0, 0, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 129, 76, 180, 63, 192, 56, 0, 60, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 129, 76, 180, 63, 192, 56, 0, 0, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 129, 89, 167, 63, 128, 56, 0, 60, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 129, 89, 167, 63, 128, 56, 0, 0, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 129, 105, 151, 63, 64, 56, 0, 60, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191, 129, 105, 151, 63, 64, 56, 0, 0 ),
-"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 32, 0, 34, 0, 33, 0, 37, 0, 35, 0, 33, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 65, 0, 63, 0, 62, 0, 64, 0, 65, 0, 64, 0, 1, 0, 65, 0, 64, 0, 0, 0, 1, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.85, -1.4, -0.85, 1.7, 2.8, 1.7),
+"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 240, 62, 0, 0, 128, 63, 0, 0, 240, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 208, 62, 0, 0, 128, 63, 0, 0, 208, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 144, 62, 0, 0, 128, 63, 0, 0, 144, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 96, 62, 0, 0, 128, 63, 0, 0, 96, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 2, 0, 32, 62, 0, 0, 128, 63, 2, 0, 32, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 192, 61, 0, 0, 128, 63, 0, 0, 192, 61, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 128, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 120, 63, 0, 0, 128, 63, 0, 0, 120, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 128, 63, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 88, 63, 0, 0, 128, 63, 0, 0, 88, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 72, 63, 0, 0, 128, 63, 0, 0, 72, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 56, 63, 0, 0, 128, 63, 0, 0, 56, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 40, 63, 0, 0, 128, 63, 0, 0, 40, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 24, 63, 0, 0, 128, 63, 0, 0, 24, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 8, 63, 0, 0, 128, 63, 0, 0, 8, 63, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 192, 61, 0, 0, 128, 63, 0, 0, 104, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 176, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0),
+"format": 4119,
"index_count": 192,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 66
-}
-
-[sub_resource type="CylinderShape" id=6]
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 34, 0, 31, 0, 30, 0, 32, 0, 34, 0, 33, 0, 37, 0, 35, 0, 33, 0, 36, 0, 37, 0, 36, 0, 39, 0, 37, 0, 36, 0, 38, 0, 39, 0, 38, 0, 41, 0, 39, 0, 38, 0, 40, 0, 41, 0, 40, 0, 43, 0, 41, 0, 40, 0, 42, 0, 43, 0, 42, 0, 45, 0, 43, 0, 42, 0, 44, 0, 45, 0, 44, 0, 47, 0, 45, 0, 44, 0, 46, 0, 47, 0, 46, 0, 49, 0, 47, 0, 46, 0, 48, 0, 49, 0, 48, 0, 51, 0, 49, 0, 48, 0, 50, 0, 51, 0, 50, 0, 53, 0, 51, 0, 50, 0, 52, 0, 53, 0, 52, 0, 55, 0, 53, 0, 52, 0, 54, 0, 55, 0, 54, 0, 57, 0, 55, 0, 54, 0, 56, 0, 57, 0, 56, 0, 59, 0, 57, 0, 56, 0, 58, 0, 59, 0, 58, 0, 61, 0, 59, 0, 58, 0, 60, 0, 61, 0, 60, 0, 63, 0, 61, 0, 60, 0, 62, 0, 63, 0, 62, 0, 65, 0, 63, 0, 62, 0, 64, 0, 65, 0, 64, 0, 1, 0, 65, 0, 64, 0, 0, 0, 1, 0),
+"lods": [0.0371179, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 64, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 64, 0, 5, 0, 65, 0, 10, 0, 14, 0, 13, 0, 62, 0, 64, 0, 65, 0, 14, 0, 17, 0, 13, 0, 62, 0, 65, 0, 61, 0, 14, 0, 18, 0, 17, 0, 58, 0, 62, 0, 61, 0, 18, 0, 21, 0, 17, 0, 58, 0, 61, 0, 57, 0, 18, 0, 22, 0, 21, 0, 54, 0, 58, 0, 57, 0, 22, 0, 25, 0, 21, 0, 54, 0, 57, 0, 53, 0, 22, 0, 26, 0, 25, 0, 50, 0, 54, 0, 53, 0, 26, 0, 29, 0, 25, 0, 50, 0, 53, 0, 49, 0, 26, 0, 30, 0, 29, 0, 30, 0, 34, 0, 29, 0, 30, 0, 32, 0, 34, 0, 46, 0, 50, 0, 49, 0, 46, 0, 49, 0, 45, 0, 42, 0, 46, 0, 45, 0, 42, 0, 45, 0, 41, 0, 38, 0, 42, 0, 41, 0, 38, 0, 41, 0, 37, 0, 33, 0, 38, 0, 37, 0, 33, 0, 37, 0, 35, 0), 0.139951, PackedByteArray(88, 0, 90, 0, 86, 0, 88, 0, 18, 0, 90, 0, 18, 0, 29, 0, 90, 0, 18, 0, 26, 0, 29, 0, 26, 0, 34, 0, 29, 0, 26, 0, 32, 0, 34, 0, 62, 0, 89, 0, 86, 0, 62, 0, 87, 0, 65, 0, 54, 0, 62, 0, 65, 0, 54, 0, 65, 0, 57, 0, 46, 0, 54, 0, 57, 0, 46, 0, 57, 0, 49, 0, 38, 0, 46, 0, 49, 0, 38, 0, 49, 0, 41, 0, 33, 0, 38, 0, 41, 0, 33, 0, 41, 0, 35, 0), 0.399284, PackedByteArray(77, 0, 79, 0, 74, 0, 77, 0, 81, 0, 79, 0, 81, 0, 32, 0, 34, 0, 81, 0, 34, 0, 80, 0, 33, 0, 41, 0, 35, 0, 33, 0, 83, 0, 41, 0, 84, 0, 75, 0, 82, 0, 85, 0, 78, 0, 76, 0), 0.844305, PackedByteArray(10, 0, 70, 0, 72, 0, 66, 0, 68, 0, 71, 0, 33, 0, 41, 0, 35, 0, 69, 0, 67, 0, 73, 0)],
+"material": SubResource("StandardMaterial3D_37d4w"),
+"primitive": 3,
+"vertex_count": 91,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 51, 51, 179, 191, 154, 153, 89, 191, 255, 255, 254, 255, 0, 0, 255, 191, 0, 0, 0, 0, 51, 51, 179, 63, 154, 153, 89, 191, 255, 255, 254, 255, 0, 0, 255, 191, 127, 206, 41, 62, 51, 51, 179, 191, 59, 107, 85, 191, 255, 255, 194, 234, 0, 0, 157, 202, 127, 206, 41, 62, 51, 51, 179, 63, 59, 107, 85, 191, 255, 255, 194, 234, 0, 0, 157, 202, 57, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 191, 255, 255, 129, 218, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 129, 218, 0, 0, 189, 210, 192, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 191, 255, 255, 186, 204, 0, 0, 161, 217, 192, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 191, 255, 255, 186, 204, 0, 0, 161, 217, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 191, 255, 255, 255, 191, 0, 0, 255, 223, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 191, 255, 255, 255, 191, 0, 0, 255, 223, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 68, 179, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 63, 192, 200, 241, 190, 255, 255, 68, 179, 0, 0, 92, 230, 67, 9, 73, 63, 51, 51, 179, 191, 57, 139, 166, 190, 255, 255, 124, 165, 0, 0, 64, 237, 67, 9, 73, 63, 51, 51, 179, 63, 57, 139, 166, 190, 255, 255, 124, 165, 0, 0, 64, 237, 59, 107, 85, 63, 51, 51, 179, 191, 129, 206, 41, 190, 255, 255, 59, 149, 0, 0, 96, 245, 59, 107, 85, 63, 51, 51, 179, 63, 129, 206, 41, 190, 255, 255, 59, 149, 0, 0, 96, 245, 154, 153, 89, 63, 51, 51, 179, 191, 1, 148, 31, 51, 255, 255, 255, 127, 255, 255, 255, 255, 154, 153, 89, 63, 51, 51, 179, 63, 1, 148, 31, 51, 255, 255, 255, 127, 255, 255, 255, 255, 59, 107, 85, 63, 51, 51, 179, 191, 127, 206, 41, 62, 194, 234, 255, 127, 255, 255, 96, 245, 59, 107, 85, 63, 51, 51, 179, 63, 127, 206, 41, 62, 194, 234, 255, 127, 255, 255, 96, 245, 68, 9, 73, 63, 51, 51, 179, 191, 56, 139, 166, 62, 129, 218, 255, 127, 255, 255, 64, 237, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 129, 218, 255, 127, 255, 255, 64, 237, 132, 237, 52, 63, 51, 51, 179, 191, 190, 200, 241, 62, 186, 204, 255, 127, 255, 255, 92, 230, 132, 237, 52, 63, 51, 51, 179, 63, 190, 200, 241, 62, 186, 204, 255, 127, 255, 255, 92, 230, 207, 221, 25, 63, 51, 51, 179, 191, 207, 221, 25, 63, 255, 191, 255, 127, 255, 255, 255, 223, 207, 221, 25, 63, 51, 51, 179, 63, 207, 221, 25, 63, 255, 191, 255, 127, 255, 255, 255, 223, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 68, 179, 255, 127, 255, 255, 161, 217, 190, 200, 241, 62, 51, 51, 179, 63, 132, 237, 52, 63, 68, 179, 255, 127, 255, 255, 161, 217, 58, 139, 166, 62, 51, 51, 179, 191, 67, 9, 73, 63, 124, 165, 255, 127, 255, 255, 189, 210, 58, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 63, 124, 165, 255, 127, 255, 255, 189, 210, 126, 206, 41, 62, 51, 51, 179, 191, 60, 107, 85, 63, 59, 149, 255, 127, 255, 255, 157, 202, 126, 206, 41, 62, 51, 51, 179, 63, 60, 107, 85, 63, 59, 149, 255, 127, 255, 255, 157, 202, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 255, 127, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 255, 127, 255, 127, 254, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 127, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 127, 255, 127, 254, 255, 255, 191, 123, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 63, 195, 106, 255, 127, 194, 234, 255, 191, 123, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 63, 195, 106, 255, 127, 194, 234, 255, 191, 57, 139, 166, 190, 51, 51, 179, 191, 67, 9, 73, 63, 130, 90, 255, 127, 129, 218, 255, 191, 57, 139, 166, 190, 51, 51, 179, 63, 67, 9, 73, 63, 130, 90, 255, 127, 129, 218, 255, 191, 194, 200, 241, 190, 51, 51, 179, 191, 131, 237, 52, 63, 186, 76, 255, 127, 186, 204, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 186, 76, 255, 127, 186, 204, 255, 191, 206, 221, 25, 191, 51, 51, 179, 191, 208, 221, 25, 63, 255, 63, 255, 127, 255, 191, 255, 191, 206, 221, 25, 191, 51, 51, 179, 63, 208, 221, 25, 63, 255, 63, 255, 127, 255, 191, 255, 191, 130, 237, 52, 191, 51, 51, 179, 191, 197, 200, 241, 62, 68, 51, 255, 127, 68, 179, 255, 191, 130, 237, 52, 191, 51, 51, 179, 63, 197, 200, 241, 62, 68, 51, 255, 127, 68, 179, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 125, 37, 255, 127, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 63, 61, 139, 166, 62, 125, 37, 255, 127, 124, 165, 255, 191, 59, 107, 85, 191, 51, 51, 179, 191, 130, 206, 41, 62, 60, 21, 255, 127, 59, 149, 255, 191, 59, 107, 85, 191, 51, 51, 179, 63, 130, 206, 41, 62, 60, 21, 255, 127, 59, 149, 255, 191, 154, 153, 89, 191, 51, 51, 179, 191, 65, 35, 46, 178, 0, 0, 255, 127, 255, 127, 255, 191, 154, 153, 89, 191, 51, 51, 179, 63, 65, 35, 46, 178, 0, 0, 255, 127, 255, 127, 255, 191, 59, 107, 85, 191, 51, 51, 179, 191, 132, 206, 41, 190, 0, 0, 59, 149, 195, 106, 255, 191, 59, 107, 85, 191, 51, 51, 179, 63, 132, 206, 41, 190, 0, 0, 59, 149, 195, 106, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 62, 139, 166, 190, 0, 0, 124, 165, 130, 90, 255, 191, 67, 9, 73, 191, 51, 51, 179, 63, 62, 139, 166, 190, 0, 0, 124, 165, 130, 90, 255, 191, 133, 237, 52, 191, 51, 51, 179, 191, 187, 200, 241, 190, 0, 0, 68, 179, 186, 76, 255, 191, 133, 237, 52, 191, 51, 51, 179, 63, 187, 200, 241, 190, 0, 0, 68, 179, 186, 76, 255, 191, 209, 221, 25, 191, 51, 51, 179, 191, 206, 221, 25, 191, 0, 0, 255, 191, 255, 63, 255, 191, 209, 221, 25, 191, 51, 51, 179, 63, 206, 221, 25, 191, 0, 0, 255, 191, 255, 63, 255, 191, 194, 200, 241, 190, 51, 51, 179, 191, 132, 237, 52, 191, 0, 0, 186, 204, 68, 51, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 132, 237, 52, 191, 0, 0, 186, 204, 68, 51, 255, 191, 57, 139, 166, 190, 51, 51, 179, 191, 68, 9, 73, 191, 0, 0, 129, 218, 125, 37, 255, 191, 57, 139, 166, 190, 51, 51, 179, 63, 68, 9, 73, 191, 0, 0, 129, 218, 125, 37, 255, 191, 122, 206, 41, 190, 51, 51, 179, 191, 60, 107, 85, 191, 0, 0, 194, 234, 60, 21, 255, 191, 122, 206, 41, 190, 51, 51, 179, 63, 60, 107, 85, 191, 0, 0, 194, 234, 60, 21, 255, 191, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 59, 212, 255, 127, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 0, 0, 98, 155, 0, 0, 92, 230, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 139, 185, 255, 127, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 191, 154, 153, 89, 63, 0, 0, 180, 137, 254, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 255, 255, 113, 198, 255, 255, 255, 191, 1, 148, 159, 179, 51, 51, 179, 63, 154, 153, 89, 63, 250, 181, 255, 127, 255, 255, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 255, 255, 93, 201, 186, 204, 255, 191, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 0, 0, 47, 135, 186, 204, 255, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 109, 179, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 200, 167, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 83, 234, 0, 0, 189, 210, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 168, 154, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 0, 0, 4, 244, 0, 0, 92, 230, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 255, 255, 64, 131, 255, 255, 64, 237, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 115, 188, 255, 127, 255, 255, 64, 237, 190, 200, 241, 62, 51, 51, 179, 191, 132, 237, 52, 63, 132, 186, 255, 127, 255, 255, 161, 217, 194, 200, 241, 190, 51, 51, 179, 63, 131, 237, 52, 63, 0, 0, 8, 133, 186, 204, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 219, 69, 255, 127, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 0, 0, 201, 132, 124, 165, 255, 191, 67, 9, 73, 191, 51, 51, 179, 191, 61, 139, 166, 62, 0, 0, 177, 207, 124, 165, 255, 191, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 255, 255, 65, 204, 0, 0, 189, 210, 57, 139, 166, 62, 51, 51, 179, 63, 67, 9, 73, 191, 0, 0, 206, 248, 0, 0, 189, 210, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 204, 153, 0, 0, 92, 230, 132, 237, 52, 63, 51, 51, 179, 191, 192, 200, 241, 190, 255, 255, 46, 224, 0, 0, 92, 230, 68, 9, 73, 63, 51, 51, 179, 63, 56, 139, 166, 62, 85, 241, 255, 127, 255, 255, 64, 237)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_4xmya")
+
+[sub_resource type="CylinderShape3D" id="CylinderShape3D_bekon"]
height = 2.8
radius = 0.85
-[node name="Teleport" type="Spatial"]
-script = ExtResource( 1 )
+[node name="Teleport" type="Node3D"]
+script = ExtResource("1_mkuv0")
-[node name="TeleportBody" type="StaticBody" parent="."]
+[node name="TeleportBody" type="StaticBody3D" parent="."]
-[node name="Base" type="MeshInstance" parent="TeleportBody"]
-mesh = SubResource( 1 )
-skeleton = NodePath("../..")
-material/0 = ExtResource( 3 )
+[node name="Base" type="MeshInstance3D" parent="TeleportBody"]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_6x10k")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("2_0kehv")
-[node name="BaseCollisionShape" type="CollisionShape" parent="TeleportBody"]
-shape = SubResource( 7 )
+[node name="BaseCollisionShape" type="CollisionShape3D" parent="TeleportBody"]
+shape = SubResource("ConvexPolygonShape3D_4fsqc")
-[node name="Top" type="MeshInstance" parent="TeleportBody"]
-mesh = SubResource( 2 )
-skeleton = NodePath("../..")
-material/0 = ExtResource( 3 )
-material/1 = ExtResource( 4 )
+[node name="Top" type="MeshInstance3D" parent="TeleportBody"]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_20bhj")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("2_0kehv")
+surface_material_override/1 = ExtResource("3_sl3q4")
-[node name="TopCollisionShape" type="CollisionShape" parent="TeleportBody"]
-shape = SubResource( 5 )
+[node name="TopCollisionShape" type="CollisionShape3D" parent="TeleportBody"]
+shape = SubResource("ConvexPolygonShape3D_dma6l")
-[node name="TeleportArea" type="Area" parent="."]
+[node name="TeleportArea" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 524288
-[node name="Cylinder" type="MeshInstance" parent="TeleportArea"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0 )
-mesh = SubResource( 3 )
-skeleton = NodePath("../..")
-material/0 = ExtResource( 2 )
+[node name="Cylinder" type="MeshInstance3D" parent="TeleportArea"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
+gi_mode = 0
+mesh = SubResource("ArrayMesh_b4xkm")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("4_2bbe5")
-[node name="CollisionShape" type="CollisionShape" parent="TeleportArea"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0 )
-shape = SubResource( 6 )
+[node name="CollisionShape3d" type="CollisionShape3D" parent="TeleportArea"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
+shape = SubResource("CylinderShape3D_bekon")
[connection signal="body_entered" from="TeleportArea" to="." method="_on_TeleportArea_body_entered"]
diff --git a/assets/meshes/teleport/teleport_area_shader.tres b/assets/meshes/teleport/teleport_area_shader.tres
index 1547b15a..9ac17c1b 100644
--- a/assets/meshes/teleport/teleport_area_shader.tres
+++ b/assets/meshes/teleport/teleport_area_shader.tres
@@ -1,146 +1,152 @@
-[gd_resource type="ShaderMaterial" load_steps=14 format=2]
+[gd_resource type="ShaderMaterial" load_steps=14 format=3 uid="uid://d4nr1joloeff8"]
-[sub_resource type="VisualShaderNodeScalarFunc" id=8]
+[sub_resource type="VisualShaderNodeFloatFunc" id="8"]
output_port_for_preview = 0
function = 17
-[sub_resource type="VisualShaderNodeColorConstant" id=13]
-constant = Color( 0.169944, 0.249712, 0.97294, 1 )
+[sub_resource type="VisualShaderNodeColorConstant" id="13"]
+constant = Color(0.169944, 0.249712, 0.97294, 1)
-[sub_resource type="VisualShaderNodeInput" id=14]
+[sub_resource type="VisualShaderNodeInput" id="14"]
input_name = "time"
-[sub_resource type="VisualShaderNodeScalarOp" id=19]
-default_input_values = [ 0, 0.0, 1, 0.8 ]
+[sub_resource type="VisualShaderNodeFloatOp" id="19"]
+default_input_values = [0, 0.0, 1, 0.8]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=23]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 4, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="23"]
+default_input_values = [0, Vector2(0, 0), 1, Vector2(1.25, 0)]
+op_type = 0
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=24]
+[sub_resource type="VisualShaderNodeFloatOp" id="24"]
-[sub_resource type="VisualShaderNodeVectorOp" id=25]
+[sub_resource type="VisualShaderNodeVectorOp" id="25"]
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=31]
-default_input_values = [ 0, 0.0, 1, 0.8 ]
-operator = 2
-
-[sub_resource type="VisualShaderNodeInput" id=21]
+[sub_resource type="VisualShaderNodeSmoothStep" id="28"]
output_port_for_preview = 0
-input_name = "uv"
+default_input_values = [0, 0.4, 1, 0.5, 2, 0.0]
-[sub_resource type="VisualShaderNodeScalarSmoothStep" id=32]
+[sub_resource type="VisualShaderNodeSmoothStep" id="29"]
output_port_for_preview = 0
-default_input_values = [ 0, 0.4, 1, 0.5, 2, 0.0 ]
+default_input_values = [0, 1.0, 1, 0.4, 2, 0.0]
-[sub_resource type="VisualShaderNodeScalarSmoothStep" id=33]
-output_port_for_preview = 0
-default_input_values = [ 0, 1.0, 1, 0.4, 2, 0.0 ]
-
-[sub_resource type="VisualShaderNodeScalarOp" id=34]
+[sub_resource type="VisualShaderNodeFloatOp" id="30"]
output_port_for_preview = 0
operator = 7
-[sub_resource type="VisualShader" id=22]
-code = "shader_type spatial;
-render_mode blend_add, cull_disabled, specular_schlick_ggx, unshaded;
+[sub_resource type="VisualShaderNodeFloatOp" id="31"]
+default_input_values = [0, 0.0, 1, 0.8]
+operator = 2
+[sub_resource type="VisualShaderNodeInput" id="21"]
+output_port_for_preview = 0
+expanded_output_ports = [0]
+input_name = "uv"
+[sub_resource type="VisualShader" id="22"]
+code = "shader_type spatial;
+render_mode blend_add, cull_disabled, unshaded;
-void vertex() {
-// Output:0
-}
void fragment() {
-// Color:19
- vec3 n_out19p0 = vec3(0.169944, 0.249712, 0.972940);
- float n_out19p1 = 1.000000;
+// ColorConstant:19
+ vec4 n_out19p0 = vec4(0.169944, 0.249712, 0.972940, 1.000000);
+
// Input:2
float n_out2p0 = TIME;
-// ScalarOp:25
+
+// FloatOp:25
float n_in25p1 = 0.80000;
float n_out25p0 = n_out2p0 * n_in25p1;
+
// Input:5
- vec3 n_out5p0 = vec3(UV, 0.0);
+ vec2 n_out5p0 = UV;
+ float n_out5p2 = n_out5p0.g;
+
// VectorOp:26
- vec3 n_in26p1 = vec3(0.00000, 4.00000, 0.00000);
- vec3 n_out26p0 = n_out5p0 * n_in26p1;
+ vec2 n_in26p1 = vec2(1.25000, 0.00000);
+ vec2 n_out26p0 = vec2(n_out5p2) * n_in26p1;
+
+
+// FloatOp:27
+ float n_out27p0 = n_out25p0 + n_out26p0.x;
-// ScalarOp:27
- float n_out27p0 = n_out25p0 + dot(n_out26p0, vec3(0.333333, 0.333333, 0.333333));
-// ScalarFunc:12
+// FloatFunc:12
float n_out12p0 = fract(n_out27p0);
-// ScalarSmoothStep:50
- float n_in50p0 = 0.40000;
- float n_in50p1 = 0.50000;
- float n_out50p0 = smoothstep(n_in50p0, n_in50p1, n_out12p0);
-// ScalarSmoothStep:51
- float n_in51p0 = 1.00000;
- float n_in51p1 = 0.40000;
- float n_out51p0 = smoothstep(n_in51p0, n_in51p1, n_out12p0);
+// SmoothStep:46
+ float n_in46p0 = 0.40000;
+ float n_in46p1 = 0.50000;
+ float n_out46p0 = smoothstep(n_in46p0, n_in46p1, n_out12p0);
+
+
+// SmoothStep:47
+ float n_in47p0 = 1.00000;
+ float n_in47p1 = 0.40000;
+ float n_out47p0 = smoothstep(n_in47p0, n_in47p1, n_out12p0);
+
-// ScalarOp:52
- float n_out52p0 = min(n_out50p0, n_out51p0);
+// FloatOp:48
+ float n_out48p0 = min(n_out46p0, n_out47p0);
-// ScalarOp:49
+
+// FloatOp:49
float n_in49p1 = 0.80000;
- float n_out49p0 = n_out52p0 * n_in49p1;
+ float n_out49p0 = n_out48p0 * n_in49p1;
+
// VectorOp:40
- vec3 n_out40p0 = n_out19p0 * vec3(n_out49p0);
+ vec3 n_out40p0 = vec3(n_out19p0.xyz) * vec3(n_out49p0);
+
// Output:0
ALBEDO = n_out40p0;
ALPHA = n_out49p0;
-}
-
-void light() {
-// Output:0
}
"
-graph_offset = Vector2( 736.672, -32.0883 )
+graph_offset = Vector2(-491.978, 45.2689)
modes/blend = 1
modes/cull = 2
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 1820, 0 )
-nodes/fragment/2/node = SubResource( 14 )
-nodes/fragment/2/position = Vector2( -360, 0 )
-nodes/fragment/5/node = SubResource( 21 )
-nodes/fragment/5/position = Vector2( -360, 160 )
-nodes/fragment/12/node = SubResource( 8 )
-nodes/fragment/12/position = Vector2( 340, 60 )
-nodes/fragment/19/node = SubResource( 13 )
-nodes/fragment/19/position = Vector2( 1365, -84 )
-nodes/fragment/25/node = SubResource( 19 )
-nodes/fragment/25/position = Vector2( -140, -20 )
-nodes/fragment/26/node = SubResource( 23 )
-nodes/fragment/26/position = Vector2( -140, 140 )
-nodes/fragment/27/node = SubResource( 24 )
-nodes/fragment/27/position = Vector2( 100, 40 )
-nodes/fragment/40/node = SubResource( 25 )
-nodes/fragment/40/position = Vector2( 1617, -84 )
-nodes/fragment/49/node = SubResource( 31 )
-nodes/fragment/49/position = Vector2( 1302, 84 )
-nodes/fragment/50/node = SubResource( 32 )
-nodes/fragment/50/position = Vector2( 640, -100 )
-nodes/fragment/51/node = SubResource( 33 )
-nodes/fragment/51/position = Vector2( 640, 140 )
-nodes/fragment/52/node = SubResource( 34 )
-nodes/fragment/52/position = Vector2( 980, 40 )
-nodes/fragment/connections = PoolIntArray( 2, 0, 25, 0, 5, 0, 26, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 12, 0, 50, 2, 12, 0, 51, 2, 50, 0, 52, 0, 51, 0, 52, 1, 52, 0, 49, 0 )
+nodes/fragment/0/position = Vector2(1820, 0)
+nodes/fragment/2/node = SubResource("14")
+nodes/fragment/2/position = Vector2(-520, 40)
+nodes/fragment/5/node = SubResource("21")
+nodes/fragment/5/position = Vector2(-580, 280)
+nodes/fragment/12/node = SubResource("8")
+nodes/fragment/12/position = Vector2(360, 160)
+nodes/fragment/19/node = SubResource("13")
+nodes/fragment/19/position = Vector2(1365, -84)
+nodes/fragment/25/node = SubResource("19")
+nodes/fragment/25/position = Vector2(-80, 20)
+nodes/fragment/26/node = SubResource("23")
+nodes/fragment/26/position = Vector2(-220, 280)
+nodes/fragment/27/node = SubResource("24")
+nodes/fragment/27/position = Vector2(126, 105)
+nodes/fragment/40/node = SubResource("25")
+nodes/fragment/40/position = Vector2(1617, -84)
+nodes/fragment/46/node = SubResource("28")
+nodes/fragment/46/position = Vector2(800, -100)
+nodes/fragment/47/node = SubResource("29")
+nodes/fragment/47/position = Vector2(800, 400)
+nodes/fragment/48/node = SubResource("30")
+nodes/fragment/48/position = Vector2(1071, 42)
+nodes/fragment/49/node = SubResource("31")
+nodes/fragment/49/position = Vector2(1302, 84)
+nodes/fragment/connections = PackedInt32Array(2, 0, 25, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 12, 0, 47, 2, 46, 0, 48, 0, 47, 0, 48, 1, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 5, 2, 26, 0, 12, 0, 46, 2)
[resource]
-shader = SubResource( 22 )
+render_priority = 0
+shader = SubResource("22")
diff --git a/assets/meshes/teleport/teleport_body_material.tres b/assets/meshes/teleport/teleport_body_material.tres
index 1db0001f..106efa22 100644
--- a/assets/meshes/teleport/teleport_body_material.tres
+++ b/assets/meshes/teleport/teleport_body_material.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=1]
+[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture2D" id=1]
[resource]
albedo_texture = ExtResource( 1 )
diff --git a/assets/meshes/teleport/teleport_title_material.tres b/assets/meshes/teleport/teleport_title_material.tres
index df105e2a..c30c5047 100644
--- a/assets/meshes/teleport/teleport_title_material.tres
+++ b/assets/meshes/teleport/teleport_title_material.tres
@@ -1,103 +1,124 @@
-[gd_resource type="ShaderMaterial" load_steps=9 format=2]
+[gd_resource type="ShaderMaterial" load_steps=13 format=3 uid="uid://c26e12f2whdrj"]
-[sub_resource type="VisualShaderNodeTextureUniform" id=5]
-uniform_name = "Title"
+[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_t4y4m"]
+size = Vector2(690.6, 253)
+title = "Scroll UV Generator"
+description = "These nodes generate a UV offset which scrolls to the left over 5 seconds then repeats"
+
+[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_f47k3"]
+size = Vector2(579, 259.6)
+title = "2x Image UV Scale"
+description = "These nodes scale the UV by 2 in the X axis, which results in the texture to tile twice in the X axis."
+
+[sub_resource type="VisualShaderNodeComment" id="VisualShaderNodeComment_ptj6p"]
+size = Vector2(752.088, 525.832)
+title = "Scrolling Texture"
+description = "These nodes add the image and scrolling UVs to sample the title texture. The output is the color of the scrolling texture."
+
+[sub_resource type="VisualShaderNodeTexture2DParameter" id="5"]
+parameter_name = "Title"
texture_type = 1
+texture_repeat = 1
-[sub_resource type="VisualShaderNodeInput" id=7]
+[sub_resource type="VisualShaderNodeInput" id="7"]
input_name = "uv"
-[sub_resource type="VisualShaderNodeInput" id=8]
+[sub_resource type="VisualShaderNodeInput" id="8"]
input_name = "time"
-[sub_resource type="VisualShaderNodeVectorOp" id=9]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0.2, 0, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="9"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(0.2, 0, 0)]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=10]
+[sub_resource type="VisualShaderNodeVectorOp" id="10"]
output_port_for_preview = 0
-[sub_resource type="VisualShaderNodeVectorOp" id=11]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 2, 1, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="11"]
+default_input_values = [0, Vector3(0, 0, 0), 1, Vector3(2, 1, 0)]
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=12]
-default_input_values = [ 0, 0.0, 1, 5.0 ]
+[sub_resource type="VisualShaderNodeTexture" id="VisualShaderNodeTexture_3qe54"]
+source = 5
+
+[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_spdkt"]
+default_input_values = [0, 0.0, 1, 5.0]
operator = 4
-[sub_resource type="VisualShader" id=6]
+[sub_resource type="VisualShader" id="6"]
code = "shader_type spatial;
-render_mode specular_schlick_ggx, unshaded;
+render_mode unshaded;
-uniform sampler2D Title : hint_albedo;
+uniform sampler2D Title : source_color, repeat_enable;
-void vertex() {
-// Output:0
-
-}
-
void fragment() {
// Input:4
float n_out4p0 = TIME;
-// ScalarOp:8
- float n_in8p1 = 5.00000;
- float n_out8p0 = mod(n_out4p0, n_in8p1);
+
+// FloatOp:9
+ float n_in9p1 = 5.00000;
+ float n_out9p0 = mod(n_out4p0, n_in9p1);
+
// VectorOp:5
vec3 n_in5p1 = vec3(0.20000, 0.00000, 0.00000);
- vec3 n_out5p0 = vec3(n_out8p0) * n_in5p1;
+ vec3 n_out5p0 = vec3(n_out9p0) * n_in5p1;
+
// Input:3
- vec3 n_out3p0 = vec3(UV, 0.0);
+ vec2 n_out3p0 = UV;
+
// VectorOp:7
vec3 n_in7p1 = vec3(2.00000, 1.00000, 0.00000);
- vec3 n_out7p0 = n_out3p0 * n_in7p1;
+ vec3 n_out7p0 = vec3(n_out3p0, 0.0) * n_in7p1;
+
// VectorOp:6
vec3 n_out6p0 = n_out5p0 + n_out7p0;
-// TextureUniform:2
- vec3 n_out2p0;
- float n_out2p1;
- {
- vec4 n_tex_read = texture(Title, n_out6p0.xy);
- n_out2p0 = n_tex_read.rgb;
- n_out2p1 = n_tex_read.a;
- }
-// Output:0
- ALBEDO = n_out2p0;
+ vec4 n_out8p0;
+// Texture2D:8
+ n_out8p0 = texture(Title, vec2(n_out6p0.xy));
-}
-void light() {
// Output:0
+ ALBEDO = vec3(n_out8p0.xyz);
+
}
"
-graph_offset = Vector2( -921.082, 269.413 )
+graph_offset = Vector2(-508.681, 463.806)
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 798, 252 )
-nodes/fragment/2/node = SubResource( 5 )
-nodes/fragment/2/position = Vector2( 378, 315 )
-nodes/fragment/3/node = SubResource( 7 )
-nodes/fragment/3/position = Vector2( -378, 567 )
-nodes/fragment/4/node = SubResource( 8 )
-nodes/fragment/4/position = Vector2( -640, 320 )
-nodes/fragment/5/node = SubResource( 9 )
-nodes/fragment/5/position = Vector2( -189, 294 )
-nodes/fragment/6/node = SubResource( 10 )
-nodes/fragment/6/position = Vector2( 84, 378 )
-nodes/fragment/7/node = SubResource( 11 )
-nodes/fragment/7/position = Vector2( -189, 546 )
-nodes/fragment/8/node = SubResource( 12 )
-nodes/fragment/8/position = Vector2( -400, 300 )
-nodes/fragment/connections = PoolIntArray( 5, 0, 6, 0, 6, 0, 2, 0, 3, 0, 7, 0, 7, 0, 6, 1, 2, 0, 0, 0, 8, 0, 5, 0, 4, 0, 8, 0 )
+nodes/fragment/0/position = Vector2(798, 252)
+nodes/fragment/2/node = SubResource("5")
+nodes/fragment/2/position = Vector2(120, 500)
+nodes/fragment/3/node = SubResource("7")
+nodes/fragment/3/position = Vector2(-1080, 640)
+nodes/fragment/4/node = SubResource("8")
+nodes/fragment/4/position = Vector2(-1120, 260)
+nodes/fragment/5/node = SubResource("9")
+nodes/fragment/5/position = Vector2(-600, 220)
+nodes/fragment/6/node = SubResource("10")
+nodes/fragment/6/position = Vector2(-120, 340)
+nodes/fragment/7/node = SubResource("11")
+nodes/fragment/7/position = Vector2(-620, 600)
+nodes/fragment/8/node = SubResource("VisualShaderNodeTexture_3qe54")
+nodes/fragment/8/position = Vector2(500, 360)
+nodes/fragment/9/node = SubResource("VisualShaderNodeFloatOp_spdkt")
+nodes/fragment/9/position = Vector2(-780, 240)
+nodes/fragment/10/node = SubResource("VisualShaderNodeComment_t4y4m")
+nodes/fragment/10/position = Vector2(-1140, 140)
+nodes/fragment/11/node = SubResource("VisualShaderNodeComment_f47k3")
+nodes/fragment/11/position = Vector2(-1120, 520)
+nodes/fragment/12/node = SubResource("VisualShaderNodeComment_ptj6p")
+nodes/fragment/12/position = Vector2(-140, 240)
+nodes/fragment/connections = PackedInt32Array(5, 0, 6, 0, 3, 0, 7, 0, 7, 0, 6, 1, 2, 0, 8, 2, 8, 0, 0, 0, 6, 0, 8, 0, 4, 0, 9, 0, 9, 0, 5, 0)
[resource]
resource_local_to_scene = true
-shader = SubResource( 6 )
+render_priority = 0
+shader = SubResource("6")
diff --git a/assets/meshes/tube/tube.glb.import b/assets/meshes/tube/tube.glb.import
index 0e6e902f..5203212d 100644
--- a/assets/meshes/tube/tube.glb.import
+++ b/assets/meshes/tube/tube.glb.import
@@ -1,1065 +1,32 @@
[remap]
importer="scene"
+importer_version=1
type="PackedScene"
-path="res://.import/tube.glb-e622891a55884bdb253119e7ceb148f0.scn"
+uid="uid://b6ooxhmtqv5hs"
+path="res://.godot/imported/tube.glb-e622891a55884bdb253119e7ceb148f0.scn"
[deps]
source_file="res://assets/meshes/tube/tube.glb"
-dest_files=[ "res://.import/tube.glb-e622891a55884bdb253119e7ceb148f0.scn" ]
+dest_files=["res://.godot/imported/tube.glb-e622891a55884bdb253119e7ceb148f0.scn"]
[params]
nodes/root_type="Spatial"
nodes/root_name="Scene Root"
+nodes/apply_root_scale=true
nodes/root_scale=1.0
-nodes/custom_script=""
-nodes/storage=0
-nodes/use_legacy_names=false
-materials/location=1
-materials/storage=1
-materials/keep_on_reimport=true
-meshes/octahedral_compression=true
-meshes/compress=4286
meshes/ensure_tangents=true
-meshes/storage=0
+meshes/generate_lods=true
+meshes/create_shadow_meshes=true
meshes/light_baking=0
meshes/lightmap_texel_size=0.1
skins/use_named_skins=true
-external_files/store_in_subdir=false
animation/import=true
animation/fps=15
-animation/filter_script=""
-animation/storage=false
-animation/keep_custom_tracks=false
-animation/optimizer/enabled=true
-animation/optimizer/max_linear_error=0.05
-animation/optimizer/max_angular_error=0.01
-animation/optimizer/max_angle=22
-animation/optimizer/remove_unused_tracks=true
-animation/clips/amount=0
-animation/clip_1/name=""
-animation/clip_1/start_frame=0
-animation/clip_1/end_frame=0
-animation/clip_1/loops=false
-animation/clip_2/name=""
-animation/clip_2/start_frame=0
-animation/clip_2/end_frame=0
-animation/clip_2/loops=false
-animation/clip_3/name=""
-animation/clip_3/start_frame=0
-animation/clip_3/end_frame=0
-animation/clip_3/loops=false
-animation/clip_4/name=""
-animation/clip_4/start_frame=0
-animation/clip_4/end_frame=0
-animation/clip_4/loops=false
-animation/clip_5/name=""
-animation/clip_5/start_frame=0
-animation/clip_5/end_frame=0
-animation/clip_5/loops=false
-animation/clip_6/name=""
-animation/clip_6/start_frame=0
-animation/clip_6/end_frame=0
-animation/clip_6/loops=false
-animation/clip_7/name=""
-animation/clip_7/start_frame=0
-animation/clip_7/end_frame=0
-animation/clip_7/loops=false
-animation/clip_8/name=""
-animation/clip_8/start_frame=0
-animation/clip_8/end_frame=0
-animation/clip_8/loops=false
-animation/clip_9/name=""
-animation/clip_9/start_frame=0
-animation/clip_9/end_frame=0
-animation/clip_9/loops=false
-animation/clip_10/name=""
-animation/clip_10/start_frame=0
-animation/clip_10/end_frame=0
-animation/clip_10/loops=false
-animation/clip_11/name=""
-animation/clip_11/start_frame=0
-animation/clip_11/end_frame=0
-animation/clip_11/loops=false
-animation/clip_12/name=""
-animation/clip_12/start_frame=0
-animation/clip_12/end_frame=0
-animation/clip_12/loops=false
-animation/clip_13/name=""
-animation/clip_13/start_frame=0
-animation/clip_13/end_frame=0
-animation/clip_13/loops=false
-animation/clip_14/name=""
-animation/clip_14/start_frame=0
-animation/clip_14/end_frame=0
-animation/clip_14/loops=false
-animation/clip_15/name=""
-animation/clip_15/start_frame=0
-animation/clip_15/end_frame=0
-animation/clip_15/loops=false
-animation/clip_16/name=""
-animation/clip_16/start_frame=0
-animation/clip_16/end_frame=0
-animation/clip_16/loops=false
-animation/clip_17/name=""
-animation/clip_17/start_frame=0
-animation/clip_17/end_frame=0
-animation/clip_17/loops=false
-animation/clip_18/name=""
-animation/clip_18/start_frame=0
-animation/clip_18/end_frame=0
-animation/clip_18/loops=false
-animation/clip_19/name=""
-animation/clip_19/start_frame=0
-animation/clip_19/end_frame=0
-animation/clip_19/loops=false
-animation/clip_20/name=""
-animation/clip_20/start_frame=0
-animation/clip_20/end_frame=0
-animation/clip_20/loops=false
-animation/clip_21/name=""
-animation/clip_21/start_frame=0
-animation/clip_21/end_frame=0
-animation/clip_21/loops=false
-animation/clip_22/name=""
-animation/clip_22/start_frame=0
-animation/clip_22/end_frame=0
-animation/clip_22/loops=false
-animation/clip_23/name=""
-animation/clip_23/start_frame=0
-animation/clip_23/end_frame=0
-animation/clip_23/loops=false
-animation/clip_24/name=""
-animation/clip_24/start_frame=0
-animation/clip_24/end_frame=0
-animation/clip_24/loops=false
-animation/clip_25/name=""
-animation/clip_25/start_frame=0
-animation/clip_25/end_frame=0
-animation/clip_25/loops=false
-animation/clip_26/name=""
-animation/clip_26/start_frame=0
-animation/clip_26/end_frame=0
-animation/clip_26/loops=false
-animation/clip_27/name=""
-animation/clip_27/start_frame=0
-animation/clip_27/end_frame=0
-animation/clip_27/loops=false
-animation/clip_28/name=""
-animation/clip_28/start_frame=0
-animation/clip_28/end_frame=0
-animation/clip_28/loops=false
-animation/clip_29/name=""
-animation/clip_29/start_frame=0
-animation/clip_29/end_frame=0
-animation/clip_29/loops=false
-animation/clip_30/name=""
-animation/clip_30/start_frame=0
-animation/clip_30/end_frame=0
-animation/clip_30/loops=false
-animation/clip_31/name=""
-animation/clip_31/start_frame=0
-animation/clip_31/end_frame=0
-animation/clip_31/loops=false
-animation/clip_32/name=""
-animation/clip_32/start_frame=0
-animation/clip_32/end_frame=0
-animation/clip_32/loops=false
-animation/clip_33/name=""
-animation/clip_33/start_frame=0
-animation/clip_33/end_frame=0
-animation/clip_33/loops=false
-animation/clip_34/name=""
-animation/clip_34/start_frame=0
-animation/clip_34/end_frame=0
-animation/clip_34/loops=false
-animation/clip_35/name=""
-animation/clip_35/start_frame=0
-animation/clip_35/end_frame=0
-animation/clip_35/loops=false
-animation/clip_36/name=""
-animation/clip_36/start_frame=0
-animation/clip_36/end_frame=0
-animation/clip_36/loops=false
-animation/clip_37/name=""
-animation/clip_37/start_frame=0
-animation/clip_37/end_frame=0
-animation/clip_37/loops=false
-animation/clip_38/name=""
-animation/clip_38/start_frame=0
-animation/clip_38/end_frame=0
-animation/clip_38/loops=false
-animation/clip_39/name=""
-animation/clip_39/start_frame=0
-animation/clip_39/end_frame=0
-animation/clip_39/loops=false
-animation/clip_40/name=""
-animation/clip_40/start_frame=0
-animation/clip_40/end_frame=0
-animation/clip_40/loops=false
-animation/clip_41/name=""
-animation/clip_41/start_frame=0
-animation/clip_41/end_frame=0
-animation/clip_41/loops=false
-animation/clip_42/name=""
-animation/clip_42/start_frame=0
-animation/clip_42/end_frame=0
-animation/clip_42/loops=false
-animation/clip_43/name=""
-animation/clip_43/start_frame=0
-animation/clip_43/end_frame=0
-animation/clip_43/loops=false
-animation/clip_44/name=""
-animation/clip_44/start_frame=0
-animation/clip_44/end_frame=0
-animation/clip_44/loops=false
-animation/clip_45/name=""
-animation/clip_45/start_frame=0
-animation/clip_45/end_frame=0
-animation/clip_45/loops=false
-animation/clip_46/name=""
-animation/clip_46/start_frame=0
-animation/clip_46/end_frame=0
-animation/clip_46/loops=false
-animation/clip_47/name=""
-animation/clip_47/start_frame=0
-animation/clip_47/end_frame=0
-animation/clip_47/loops=false
-animation/clip_48/name=""
-animation/clip_48/start_frame=0
-animation/clip_48/end_frame=0
-animation/clip_48/loops=false
-animation/clip_49/name=""
-animation/clip_49/start_frame=0
-animation/clip_49/end_frame=0
-animation/clip_49/loops=false
-animation/clip_50/name=""
-animation/clip_50/start_frame=0
-animation/clip_50/end_frame=0
-animation/clip_50/loops=false
-animation/clip_51/name=""
-animation/clip_51/start_frame=0
-animation/clip_51/end_frame=0
-animation/clip_51/loops=false
-animation/clip_52/name=""
-animation/clip_52/start_frame=0
-animation/clip_52/end_frame=0
-animation/clip_52/loops=false
-animation/clip_53/name=""
-animation/clip_53/start_frame=0
-animation/clip_53/end_frame=0
-animation/clip_53/loops=false
-animation/clip_54/name=""
-animation/clip_54/start_frame=0
-animation/clip_54/end_frame=0
-animation/clip_54/loops=false
-animation/clip_55/name=""
-animation/clip_55/start_frame=0
-animation/clip_55/end_frame=0
-animation/clip_55/loops=false
-animation/clip_56/name=""
-animation/clip_56/start_frame=0
-animation/clip_56/end_frame=0
-animation/clip_56/loops=false
-animation/clip_57/name=""
-animation/clip_57/start_frame=0
-animation/clip_57/end_frame=0
-animation/clip_57/loops=false
-animation/clip_58/name=""
-animation/clip_58/start_frame=0
-animation/clip_58/end_frame=0
-animation/clip_58/loops=false
-animation/clip_59/name=""
-animation/clip_59/start_frame=0
-animation/clip_59/end_frame=0
-animation/clip_59/loops=false
-animation/clip_60/name=""
-animation/clip_60/start_frame=0
-animation/clip_60/end_frame=0
-animation/clip_60/loops=false
-animation/clip_61/name=""
-animation/clip_61/start_frame=0
-animation/clip_61/end_frame=0
-animation/clip_61/loops=false
-animation/clip_62/name=""
-animation/clip_62/start_frame=0
-animation/clip_62/end_frame=0
-animation/clip_62/loops=false
-animation/clip_63/name=""
-animation/clip_63/start_frame=0
-animation/clip_63/end_frame=0
-animation/clip_63/loops=false
-animation/clip_64/name=""
-animation/clip_64/start_frame=0
-animation/clip_64/end_frame=0
-animation/clip_64/loops=false
-animation/clip_65/name=""
-animation/clip_65/start_frame=0
-animation/clip_65/end_frame=0
-animation/clip_65/loops=false
-animation/clip_66/name=""
-animation/clip_66/start_frame=0
-animation/clip_66/end_frame=0
-animation/clip_66/loops=false
-animation/clip_67/name=""
-animation/clip_67/start_frame=0
-animation/clip_67/end_frame=0
-animation/clip_67/loops=false
-animation/clip_68/name=""
-animation/clip_68/start_frame=0
-animation/clip_68/end_frame=0
-animation/clip_68/loops=false
-animation/clip_69/name=""
-animation/clip_69/start_frame=0
-animation/clip_69/end_frame=0
-animation/clip_69/loops=false
-animation/clip_70/name=""
-animation/clip_70/start_frame=0
-animation/clip_70/end_frame=0
-animation/clip_70/loops=false
-animation/clip_71/name=""
-animation/clip_71/start_frame=0
-animation/clip_71/end_frame=0
-animation/clip_71/loops=false
-animation/clip_72/name=""
-animation/clip_72/start_frame=0
-animation/clip_72/end_frame=0
-animation/clip_72/loops=false
-animation/clip_73/name=""
-animation/clip_73/start_frame=0
-animation/clip_73/end_frame=0
-animation/clip_73/loops=false
-animation/clip_74/name=""
-animation/clip_74/start_frame=0
-animation/clip_74/end_frame=0
-animation/clip_74/loops=false
-animation/clip_75/name=""
-animation/clip_75/start_frame=0
-animation/clip_75/end_frame=0
-animation/clip_75/loops=false
-animation/clip_76/name=""
-animation/clip_76/start_frame=0
-animation/clip_76/end_frame=0
-animation/clip_76/loops=false
-animation/clip_77/name=""
-animation/clip_77/start_frame=0
-animation/clip_77/end_frame=0
-animation/clip_77/loops=false
-animation/clip_78/name=""
-animation/clip_78/start_frame=0
-animation/clip_78/end_frame=0
-animation/clip_78/loops=false
-animation/clip_79/name=""
-animation/clip_79/start_frame=0
-animation/clip_79/end_frame=0
-animation/clip_79/loops=false
-animation/clip_80/name=""
-animation/clip_80/start_frame=0
-animation/clip_80/end_frame=0
-animation/clip_80/loops=false
-animation/clip_81/name=""
-animation/clip_81/start_frame=0
-animation/clip_81/end_frame=0
-animation/clip_81/loops=false
-animation/clip_82/name=""
-animation/clip_82/start_frame=0
-animation/clip_82/end_frame=0
-animation/clip_82/loops=false
-animation/clip_83/name=""
-animation/clip_83/start_frame=0
-animation/clip_83/end_frame=0
-animation/clip_83/loops=false
-animation/clip_84/name=""
-animation/clip_84/start_frame=0
-animation/clip_84/end_frame=0
-animation/clip_84/loops=false
-animation/clip_85/name=""
-animation/clip_85/start_frame=0
-animation/clip_85/end_frame=0
-animation/clip_85/loops=false
-animation/clip_86/name=""
-animation/clip_86/start_frame=0
-animation/clip_86/end_frame=0
-animation/clip_86/loops=false
-animation/clip_87/name=""
-animation/clip_87/start_frame=0
-animation/clip_87/end_frame=0
-animation/clip_87/loops=false
-animation/clip_88/name=""
-animation/clip_88/start_frame=0
-animation/clip_88/end_frame=0
-animation/clip_88/loops=false
-animation/clip_89/name=""
-animation/clip_89/start_frame=0
-animation/clip_89/end_frame=0
-animation/clip_89/loops=false
-animation/clip_90/name=""
-animation/clip_90/start_frame=0
-animation/clip_90/end_frame=0
-animation/clip_90/loops=false
-animation/clip_91/name=""
-animation/clip_91/start_frame=0
-animation/clip_91/end_frame=0
-animation/clip_91/loops=false
-animation/clip_92/name=""
-animation/clip_92/start_frame=0
-animation/clip_92/end_frame=0
-animation/clip_92/loops=false
-animation/clip_93/name=""
-animation/clip_93/start_frame=0
-animation/clip_93/end_frame=0
-animation/clip_93/loops=false
-animation/clip_94/name=""
-animation/clip_94/start_frame=0
-animation/clip_94/end_frame=0
-animation/clip_94/loops=false
-animation/clip_95/name=""
-animation/clip_95/start_frame=0
-animation/clip_95/end_frame=0
-animation/clip_95/loops=false
-animation/clip_96/name=""
-animation/clip_96/start_frame=0
-animation/clip_96/end_frame=0
-animation/clip_96/loops=false
-animation/clip_97/name=""
-animation/clip_97/start_frame=0
-animation/clip_97/end_frame=0
-animation/clip_97/loops=false
-animation/clip_98/name=""
-animation/clip_98/start_frame=0
-animation/clip_98/end_frame=0
-animation/clip_98/loops=false
-animation/clip_99/name=""
-animation/clip_99/start_frame=0
-animation/clip_99/end_frame=0
-animation/clip_99/loops=false
-animation/clip_100/name=""
-animation/clip_100/start_frame=0
-animation/clip_100/end_frame=0
-animation/clip_100/loops=false
-animation/clip_101/name=""
-animation/clip_101/start_frame=0
-animation/clip_101/end_frame=0
-animation/clip_101/loops=false
-animation/clip_102/name=""
-animation/clip_102/start_frame=0
-animation/clip_102/end_frame=0
-animation/clip_102/loops=false
-animation/clip_103/name=""
-animation/clip_103/start_frame=0
-animation/clip_103/end_frame=0
-animation/clip_103/loops=false
-animation/clip_104/name=""
-animation/clip_104/start_frame=0
-animation/clip_104/end_frame=0
-animation/clip_104/loops=false
-animation/clip_105/name=""
-animation/clip_105/start_frame=0
-animation/clip_105/end_frame=0
-animation/clip_105/loops=false
-animation/clip_106/name=""
-animation/clip_106/start_frame=0
-animation/clip_106/end_frame=0
-animation/clip_106/loops=false
-animation/clip_107/name=""
-animation/clip_107/start_frame=0
-animation/clip_107/end_frame=0
-animation/clip_107/loops=false
-animation/clip_108/name=""
-animation/clip_108/start_frame=0
-animation/clip_108/end_frame=0
-animation/clip_108/loops=false
-animation/clip_109/name=""
-animation/clip_109/start_frame=0
-animation/clip_109/end_frame=0
-animation/clip_109/loops=false
-animation/clip_110/name=""
-animation/clip_110/start_frame=0
-animation/clip_110/end_frame=0
-animation/clip_110/loops=false
-animation/clip_111/name=""
-animation/clip_111/start_frame=0
-animation/clip_111/end_frame=0
-animation/clip_111/loops=false
-animation/clip_112/name=""
-animation/clip_112/start_frame=0
-animation/clip_112/end_frame=0
-animation/clip_112/loops=false
-animation/clip_113/name=""
-animation/clip_113/start_frame=0
-animation/clip_113/end_frame=0
-animation/clip_113/loops=false
-animation/clip_114/name=""
-animation/clip_114/start_frame=0
-animation/clip_114/end_frame=0
-animation/clip_114/loops=false
-animation/clip_115/name=""
-animation/clip_115/start_frame=0
-animation/clip_115/end_frame=0
-animation/clip_115/loops=false
-animation/clip_116/name=""
-animation/clip_116/start_frame=0
-animation/clip_116/end_frame=0
-animation/clip_116/loops=false
-animation/clip_117/name=""
-animation/clip_117/start_frame=0
-animation/clip_117/end_frame=0
-animation/clip_117/loops=false
-animation/clip_118/name=""
-animation/clip_118/start_frame=0
-animation/clip_118/end_frame=0
-animation/clip_118/loops=false
-animation/clip_119/name=""
-animation/clip_119/start_frame=0
-animation/clip_119/end_frame=0
-animation/clip_119/loops=false
-animation/clip_120/name=""
-animation/clip_120/start_frame=0
-animation/clip_120/end_frame=0
-animation/clip_120/loops=false
-animation/clip_121/name=""
-animation/clip_121/start_frame=0
-animation/clip_121/end_frame=0
-animation/clip_121/loops=false
-animation/clip_122/name=""
-animation/clip_122/start_frame=0
-animation/clip_122/end_frame=0
-animation/clip_122/loops=false
-animation/clip_123/name=""
-animation/clip_123/start_frame=0
-animation/clip_123/end_frame=0
-animation/clip_123/loops=false
-animation/clip_124/name=""
-animation/clip_124/start_frame=0
-animation/clip_124/end_frame=0
-animation/clip_124/loops=false
-animation/clip_125/name=""
-animation/clip_125/start_frame=0
-animation/clip_125/end_frame=0
-animation/clip_125/loops=false
-animation/clip_126/name=""
-animation/clip_126/start_frame=0
-animation/clip_126/end_frame=0
-animation/clip_126/loops=false
-animation/clip_127/name=""
-animation/clip_127/start_frame=0
-animation/clip_127/end_frame=0
-animation/clip_127/loops=false
-animation/clip_128/name=""
-animation/clip_128/start_frame=0
-animation/clip_128/end_frame=0
-animation/clip_128/loops=false
-animation/clip_129/name=""
-animation/clip_129/start_frame=0
-animation/clip_129/end_frame=0
-animation/clip_129/loops=false
-animation/clip_130/name=""
-animation/clip_130/start_frame=0
-animation/clip_130/end_frame=0
-animation/clip_130/loops=false
-animation/clip_131/name=""
-animation/clip_131/start_frame=0
-animation/clip_131/end_frame=0
-animation/clip_131/loops=false
-animation/clip_132/name=""
-animation/clip_132/start_frame=0
-animation/clip_132/end_frame=0
-animation/clip_132/loops=false
-animation/clip_133/name=""
-animation/clip_133/start_frame=0
-animation/clip_133/end_frame=0
-animation/clip_133/loops=false
-animation/clip_134/name=""
-animation/clip_134/start_frame=0
-animation/clip_134/end_frame=0
-animation/clip_134/loops=false
-animation/clip_135/name=""
-animation/clip_135/start_frame=0
-animation/clip_135/end_frame=0
-animation/clip_135/loops=false
-animation/clip_136/name=""
-animation/clip_136/start_frame=0
-animation/clip_136/end_frame=0
-animation/clip_136/loops=false
-animation/clip_137/name=""
-animation/clip_137/start_frame=0
-animation/clip_137/end_frame=0
-animation/clip_137/loops=false
-animation/clip_138/name=""
-animation/clip_138/start_frame=0
-animation/clip_138/end_frame=0
-animation/clip_138/loops=false
-animation/clip_139/name=""
-animation/clip_139/start_frame=0
-animation/clip_139/end_frame=0
-animation/clip_139/loops=false
-animation/clip_140/name=""
-animation/clip_140/start_frame=0
-animation/clip_140/end_frame=0
-animation/clip_140/loops=false
-animation/clip_141/name=""
-animation/clip_141/start_frame=0
-animation/clip_141/end_frame=0
-animation/clip_141/loops=false
-animation/clip_142/name=""
-animation/clip_142/start_frame=0
-animation/clip_142/end_frame=0
-animation/clip_142/loops=false
-animation/clip_143/name=""
-animation/clip_143/start_frame=0
-animation/clip_143/end_frame=0
-animation/clip_143/loops=false
-animation/clip_144/name=""
-animation/clip_144/start_frame=0
-animation/clip_144/end_frame=0
-animation/clip_144/loops=false
-animation/clip_145/name=""
-animation/clip_145/start_frame=0
-animation/clip_145/end_frame=0
-animation/clip_145/loops=false
-animation/clip_146/name=""
-animation/clip_146/start_frame=0
-animation/clip_146/end_frame=0
-animation/clip_146/loops=false
-animation/clip_147/name=""
-animation/clip_147/start_frame=0
-animation/clip_147/end_frame=0
-animation/clip_147/loops=false
-animation/clip_148/name=""
-animation/clip_148/start_frame=0
-animation/clip_148/end_frame=0
-animation/clip_148/loops=false
-animation/clip_149/name=""
-animation/clip_149/start_frame=0
-animation/clip_149/end_frame=0
-animation/clip_149/loops=false
-animation/clip_150/name=""
-animation/clip_150/start_frame=0
-animation/clip_150/end_frame=0
-animation/clip_150/loops=false
-animation/clip_151/name=""
-animation/clip_151/start_frame=0
-animation/clip_151/end_frame=0
-animation/clip_151/loops=false
-animation/clip_152/name=""
-animation/clip_152/start_frame=0
-animation/clip_152/end_frame=0
-animation/clip_152/loops=false
-animation/clip_153/name=""
-animation/clip_153/start_frame=0
-animation/clip_153/end_frame=0
-animation/clip_153/loops=false
-animation/clip_154/name=""
-animation/clip_154/start_frame=0
-animation/clip_154/end_frame=0
-animation/clip_154/loops=false
-animation/clip_155/name=""
-animation/clip_155/start_frame=0
-animation/clip_155/end_frame=0
-animation/clip_155/loops=false
-animation/clip_156/name=""
-animation/clip_156/start_frame=0
-animation/clip_156/end_frame=0
-animation/clip_156/loops=false
-animation/clip_157/name=""
-animation/clip_157/start_frame=0
-animation/clip_157/end_frame=0
-animation/clip_157/loops=false
-animation/clip_158/name=""
-animation/clip_158/start_frame=0
-animation/clip_158/end_frame=0
-animation/clip_158/loops=false
-animation/clip_159/name=""
-animation/clip_159/start_frame=0
-animation/clip_159/end_frame=0
-animation/clip_159/loops=false
-animation/clip_160/name=""
-animation/clip_160/start_frame=0
-animation/clip_160/end_frame=0
-animation/clip_160/loops=false
-animation/clip_161/name=""
-animation/clip_161/start_frame=0
-animation/clip_161/end_frame=0
-animation/clip_161/loops=false
-animation/clip_162/name=""
-animation/clip_162/start_frame=0
-animation/clip_162/end_frame=0
-animation/clip_162/loops=false
-animation/clip_163/name=""
-animation/clip_163/start_frame=0
-animation/clip_163/end_frame=0
-animation/clip_163/loops=false
-animation/clip_164/name=""
-animation/clip_164/start_frame=0
-animation/clip_164/end_frame=0
-animation/clip_164/loops=false
-animation/clip_165/name=""
-animation/clip_165/start_frame=0
-animation/clip_165/end_frame=0
-animation/clip_165/loops=false
-animation/clip_166/name=""
-animation/clip_166/start_frame=0
-animation/clip_166/end_frame=0
-animation/clip_166/loops=false
-animation/clip_167/name=""
-animation/clip_167/start_frame=0
-animation/clip_167/end_frame=0
-animation/clip_167/loops=false
-animation/clip_168/name=""
-animation/clip_168/start_frame=0
-animation/clip_168/end_frame=0
-animation/clip_168/loops=false
-animation/clip_169/name=""
-animation/clip_169/start_frame=0
-animation/clip_169/end_frame=0
-animation/clip_169/loops=false
-animation/clip_170/name=""
-animation/clip_170/start_frame=0
-animation/clip_170/end_frame=0
-animation/clip_170/loops=false
-animation/clip_171/name=""
-animation/clip_171/start_frame=0
-animation/clip_171/end_frame=0
-animation/clip_171/loops=false
-animation/clip_172/name=""
-animation/clip_172/start_frame=0
-animation/clip_172/end_frame=0
-animation/clip_172/loops=false
-animation/clip_173/name=""
-animation/clip_173/start_frame=0
-animation/clip_173/end_frame=0
-animation/clip_173/loops=false
-animation/clip_174/name=""
-animation/clip_174/start_frame=0
-animation/clip_174/end_frame=0
-animation/clip_174/loops=false
-animation/clip_175/name=""
-animation/clip_175/start_frame=0
-animation/clip_175/end_frame=0
-animation/clip_175/loops=false
-animation/clip_176/name=""
-animation/clip_176/start_frame=0
-animation/clip_176/end_frame=0
-animation/clip_176/loops=false
-animation/clip_177/name=""
-animation/clip_177/start_frame=0
-animation/clip_177/end_frame=0
-animation/clip_177/loops=false
-animation/clip_178/name=""
-animation/clip_178/start_frame=0
-animation/clip_178/end_frame=0
-animation/clip_178/loops=false
-animation/clip_179/name=""
-animation/clip_179/start_frame=0
-animation/clip_179/end_frame=0
-animation/clip_179/loops=false
-animation/clip_180/name=""
-animation/clip_180/start_frame=0
-animation/clip_180/end_frame=0
-animation/clip_180/loops=false
-animation/clip_181/name=""
-animation/clip_181/start_frame=0
-animation/clip_181/end_frame=0
-animation/clip_181/loops=false
-animation/clip_182/name=""
-animation/clip_182/start_frame=0
-animation/clip_182/end_frame=0
-animation/clip_182/loops=false
-animation/clip_183/name=""
-animation/clip_183/start_frame=0
-animation/clip_183/end_frame=0
-animation/clip_183/loops=false
-animation/clip_184/name=""
-animation/clip_184/start_frame=0
-animation/clip_184/end_frame=0
-animation/clip_184/loops=false
-animation/clip_185/name=""
-animation/clip_185/start_frame=0
-animation/clip_185/end_frame=0
-animation/clip_185/loops=false
-animation/clip_186/name=""
-animation/clip_186/start_frame=0
-animation/clip_186/end_frame=0
-animation/clip_186/loops=false
-animation/clip_187/name=""
-animation/clip_187/start_frame=0
-animation/clip_187/end_frame=0
-animation/clip_187/loops=false
-animation/clip_188/name=""
-animation/clip_188/start_frame=0
-animation/clip_188/end_frame=0
-animation/clip_188/loops=false
-animation/clip_189/name=""
-animation/clip_189/start_frame=0
-animation/clip_189/end_frame=0
-animation/clip_189/loops=false
-animation/clip_190/name=""
-animation/clip_190/start_frame=0
-animation/clip_190/end_frame=0
-animation/clip_190/loops=false
-animation/clip_191/name=""
-animation/clip_191/start_frame=0
-animation/clip_191/end_frame=0
-animation/clip_191/loops=false
-animation/clip_192/name=""
-animation/clip_192/start_frame=0
-animation/clip_192/end_frame=0
-animation/clip_192/loops=false
-animation/clip_193/name=""
-animation/clip_193/start_frame=0
-animation/clip_193/end_frame=0
-animation/clip_193/loops=false
-animation/clip_194/name=""
-animation/clip_194/start_frame=0
-animation/clip_194/end_frame=0
-animation/clip_194/loops=false
-animation/clip_195/name=""
-animation/clip_195/start_frame=0
-animation/clip_195/end_frame=0
-animation/clip_195/loops=false
-animation/clip_196/name=""
-animation/clip_196/start_frame=0
-animation/clip_196/end_frame=0
-animation/clip_196/loops=false
-animation/clip_197/name=""
-animation/clip_197/start_frame=0
-animation/clip_197/end_frame=0
-animation/clip_197/loops=false
-animation/clip_198/name=""
-animation/clip_198/start_frame=0
-animation/clip_198/end_frame=0
-animation/clip_198/loops=false
-animation/clip_199/name=""
-animation/clip_199/start_frame=0
-animation/clip_199/end_frame=0
-animation/clip_199/loops=false
-animation/clip_200/name=""
-animation/clip_200/start_frame=0
-animation/clip_200/end_frame=0
-animation/clip_200/loops=false
-animation/clip_201/name=""
-animation/clip_201/start_frame=0
-animation/clip_201/end_frame=0
-animation/clip_201/loops=false
-animation/clip_202/name=""
-animation/clip_202/start_frame=0
-animation/clip_202/end_frame=0
-animation/clip_202/loops=false
-animation/clip_203/name=""
-animation/clip_203/start_frame=0
-animation/clip_203/end_frame=0
-animation/clip_203/loops=false
-animation/clip_204/name=""
-animation/clip_204/start_frame=0
-animation/clip_204/end_frame=0
-animation/clip_204/loops=false
-animation/clip_205/name=""
-animation/clip_205/start_frame=0
-animation/clip_205/end_frame=0
-animation/clip_205/loops=false
-animation/clip_206/name=""
-animation/clip_206/start_frame=0
-animation/clip_206/end_frame=0
-animation/clip_206/loops=false
-animation/clip_207/name=""
-animation/clip_207/start_frame=0
-animation/clip_207/end_frame=0
-animation/clip_207/loops=false
-animation/clip_208/name=""
-animation/clip_208/start_frame=0
-animation/clip_208/end_frame=0
-animation/clip_208/loops=false
-animation/clip_209/name=""
-animation/clip_209/start_frame=0
-animation/clip_209/end_frame=0
-animation/clip_209/loops=false
-animation/clip_210/name=""
-animation/clip_210/start_frame=0
-animation/clip_210/end_frame=0
-animation/clip_210/loops=false
-animation/clip_211/name=""
-animation/clip_211/start_frame=0
-animation/clip_211/end_frame=0
-animation/clip_211/loops=false
-animation/clip_212/name=""
-animation/clip_212/start_frame=0
-animation/clip_212/end_frame=0
-animation/clip_212/loops=false
-animation/clip_213/name=""
-animation/clip_213/start_frame=0
-animation/clip_213/end_frame=0
-animation/clip_213/loops=false
-animation/clip_214/name=""
-animation/clip_214/start_frame=0
-animation/clip_214/end_frame=0
-animation/clip_214/loops=false
-animation/clip_215/name=""
-animation/clip_215/start_frame=0
-animation/clip_215/end_frame=0
-animation/clip_215/loops=false
-animation/clip_216/name=""
-animation/clip_216/start_frame=0
-animation/clip_216/end_frame=0
-animation/clip_216/loops=false
-animation/clip_217/name=""
-animation/clip_217/start_frame=0
-animation/clip_217/end_frame=0
-animation/clip_217/loops=false
-animation/clip_218/name=""
-animation/clip_218/start_frame=0
-animation/clip_218/end_frame=0
-animation/clip_218/loops=false
-animation/clip_219/name=""
-animation/clip_219/start_frame=0
-animation/clip_219/end_frame=0
-animation/clip_219/loops=false
-animation/clip_220/name=""
-animation/clip_220/start_frame=0
-animation/clip_220/end_frame=0
-animation/clip_220/loops=false
-animation/clip_221/name=""
-animation/clip_221/start_frame=0
-animation/clip_221/end_frame=0
-animation/clip_221/loops=false
-animation/clip_222/name=""
-animation/clip_222/start_frame=0
-animation/clip_222/end_frame=0
-animation/clip_222/loops=false
-animation/clip_223/name=""
-animation/clip_223/start_frame=0
-animation/clip_223/end_frame=0
-animation/clip_223/loops=false
-animation/clip_224/name=""
-animation/clip_224/start_frame=0
-animation/clip_224/end_frame=0
-animation/clip_224/loops=false
-animation/clip_225/name=""
-animation/clip_225/start_frame=0
-animation/clip_225/end_frame=0
-animation/clip_225/loops=false
-animation/clip_226/name=""
-animation/clip_226/start_frame=0
-animation/clip_226/end_frame=0
-animation/clip_226/loops=false
-animation/clip_227/name=""
-animation/clip_227/start_frame=0
-animation/clip_227/end_frame=0
-animation/clip_227/loops=false
-animation/clip_228/name=""
-animation/clip_228/start_frame=0
-animation/clip_228/end_frame=0
-animation/clip_228/loops=false
-animation/clip_229/name=""
-animation/clip_229/start_frame=0
-animation/clip_229/end_frame=0
-animation/clip_229/loops=false
-animation/clip_230/name=""
-animation/clip_230/start_frame=0
-animation/clip_230/end_frame=0
-animation/clip_230/loops=false
-animation/clip_231/name=""
-animation/clip_231/start_frame=0
-animation/clip_231/end_frame=0
-animation/clip_231/loops=false
-animation/clip_232/name=""
-animation/clip_232/start_frame=0
-animation/clip_232/end_frame=0
-animation/clip_232/loops=false
-animation/clip_233/name=""
-animation/clip_233/start_frame=0
-animation/clip_233/end_frame=0
-animation/clip_233/loops=false
-animation/clip_234/name=""
-animation/clip_234/start_frame=0
-animation/clip_234/end_frame=0
-animation/clip_234/loops=false
-animation/clip_235/name=""
-animation/clip_235/start_frame=0
-animation/clip_235/end_frame=0
-animation/clip_235/loops=false
-animation/clip_236/name=""
-animation/clip_236/start_frame=0
-animation/clip_236/end_frame=0
-animation/clip_236/loops=false
-animation/clip_237/name=""
-animation/clip_237/start_frame=0
-animation/clip_237/end_frame=0
-animation/clip_237/loops=false
-animation/clip_238/name=""
-animation/clip_238/start_frame=0
-animation/clip_238/end_frame=0
-animation/clip_238/loops=false
-animation/clip_239/name=""
-animation/clip_239/start_frame=0
-animation/clip_239/end_frame=0
-animation/clip_239/loops=false
-animation/clip_240/name=""
-animation/clip_240/start_frame=0
-animation/clip_240/end_frame=0
-animation/clip_240/loops=false
-animation/clip_241/name=""
-animation/clip_241/start_frame=0
-animation/clip_241/end_frame=0
-animation/clip_241/loops=false
-animation/clip_242/name=""
-animation/clip_242/start_frame=0
-animation/clip_242/end_frame=0
-animation/clip_242/loops=false
-animation/clip_243/name=""
-animation/clip_243/start_frame=0
-animation/clip_243/end_frame=0
-animation/clip_243/loops=false
-animation/clip_244/name=""
-animation/clip_244/start_frame=0
-animation/clip_244/end_frame=0
-animation/clip_244/loops=false
-animation/clip_245/name=""
-animation/clip_245/start_frame=0
-animation/clip_245/end_frame=0
-animation/clip_245/loops=false
-animation/clip_246/name=""
-animation/clip_246/start_frame=0
-animation/clip_246/end_frame=0
-animation/clip_246/loops=false
-animation/clip_247/name=""
-animation/clip_247/start_frame=0
-animation/clip_247/end_frame=0
-animation/clip_247/loops=false
-animation/clip_248/name=""
-animation/clip_248/start_frame=0
-animation/clip_248/end_frame=0
-animation/clip_248/loops=false
-animation/clip_249/name=""
-animation/clip_249/start_frame=0
-animation/clip_249/end_frame=0
-animation/clip_249/loops=false
-animation/clip_250/name=""
-animation/clip_250/start_frame=0
-animation/clip_250/end_frame=0
-animation/clip_250/loops=false
-animation/clip_251/name=""
-animation/clip_251/start_frame=0
-animation/clip_251/end_frame=0
-animation/clip_251/loops=false
-animation/clip_252/name=""
-animation/clip_252/start_frame=0
-animation/clip_252/end_frame=0
-animation/clip_252/loops=false
-animation/clip_253/name=""
-animation/clip_253/start_frame=0
-animation/clip_253/end_frame=0
-animation/clip_253/loops=false
-animation/clip_254/name=""
-animation/clip_254/start_frame=0
-animation/clip_254/end_frame=0
-animation/clip_254/loops=false
-animation/clip_255/name=""
-animation/clip_255/start_frame=0
-animation/clip_255/end_frame=0
-animation/clip_255/loops=false
-animation/clip_256/name=""
-animation/clip_256/start_frame=0
-animation/clip_256/end_frame=0
-animation/clip_256/loops=false
+animation/trimming=false
+animation/remove_immutable_tracks=true
+import_script/path=""
+_subresources={}
+gltf/embedded_image_handling=1
diff --git a/assets/meshes/tube/tube.tscn b/assets/meshes/tube/tube.tscn
new file mode 100644
index 00000000..65cb71f5
--- /dev/null
+++ b/assets/meshes/tube/tube.tscn
@@ -0,0 +1,5 @@
+[gd_scene load_steps=2 format=3 uid="uid://dv5fw4334rjng"]
+
+[ext_resource type="PackedScene" uid="uid://b6ooxhmtqv5hs" path="res://assets/meshes/tube/tube.glb" id="1_2ic3o"]
+
+[node name="Tube" instance=ExtResource("1_2ic3o")]
diff --git a/assets/meshes/tube/tube_mesh.tres b/assets/meshes/tube/tube_mesh.tres
index 0f960f2d..c0fa0a05 100644
--- a/assets/meshes/tube/tube_mesh.tres
+++ b/assets/meshes/tube/tube_mesh.tres
@@ -1,15 +1,33 @@
-[gd_resource type="ArrayMesh" format=2]
+[gd_resource type="ArrayMesh" load_steps=3 format=3 uid="uid://u5c1y27oj00t"]
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_63gm4"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_hgony"]
+_surfaces = [{
+"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1),
+"format": 4097,
+"index_count": 96,
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 1, 0, 31, 0, 30, 0, 0, 0, 1, 0),
+"lods": [0.0672776, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 30, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 30, 0, 5, 0, 31, 0, 10, 0, 14, 0, 13, 0, 14, 0, 17, 0, 13, 0, 14, 0, 16, 0, 17, 0, 28, 0, 30, 0, 31, 0, 28, 0, 31, 0, 27, 0, 24, 0, 28, 0, 27, 0, 24, 0, 27, 0, 23, 0, 20, 0, 24, 0, 23, 0, 20, 0, 23, 0, 19, 0, 16, 0, 20, 0, 19, 0, 16, 0, 19, 0, 17, 0), 0.164049, PackedByteArray(2, 0, 13, 0, 5, 0, 2, 0, 10, 0, 13, 0, 10, 0, 17, 0, 13, 0, 10, 0, 16, 0, 17, 0, 16, 0, 23, 0, 17, 0, 16, 0, 20, 0, 23, 0, 20, 0, 2, 0, 23, 0, 2, 0, 5, 0, 23, 0), 0.399072, PackedByteArray(20, 0, 17, 0, 5, 0, 20, 0, 16, 0, 17, 0, 16, 0, 5, 0, 17, 0, 16, 0, 20, 0, 5, 0)],
+"primitive": 3,
+"vertex_count": 32,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190)
+}]
+blend_shape_mode = 0
[resource]
resource_name = "tube_Cylinder"
-surfaces/0 = {
-"aabb": AABB( -0.5, -0.5, -0.5, 1, 1, 1 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 0, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 60, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 0, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 60, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 60, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 0, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 60, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 0, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 60, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 0, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 60, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 60, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 0, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 60, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 0, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 60, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 60, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 0, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 60, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 0, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 60, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 0 ),
-"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1),
+"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0),
+"format": 4119,
"index_count": 96,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 34
-}
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0),
+"lods": [0.0672776, PackedByteArray(57, 0, 59, 0, 58, 0, 57, 0, 10, 0, 59, 0, 32, 0, 57, 0, 58, 0, 10, 0, 13, 0, 59, 0, 32, 0, 58, 0, 33, 0, 10, 0, 14, 0, 13, 0, 14, 0, 18, 0, 13, 0, 14, 0, 16, 0, 18, 0, 30, 0, 32, 0, 33, 0, 30, 0, 33, 0, 29, 0, 26, 0, 30, 0, 29, 0, 26, 0, 29, 0, 25, 0, 22, 0, 26, 0, 25, 0, 22, 0, 25, 0, 21, 0, 17, 0, 22, 0, 21, 0, 17, 0, 21, 0, 19, 0), 0.164049, PackedByteArray(42, 0, 49, 0, 45, 0, 42, 0, 47, 0, 49, 0, 48, 0, 52, 0, 13, 0, 48, 0, 50, 0, 52, 0, 51, 0, 54, 0, 19, 0, 51, 0, 22, 0, 54, 0, 53, 0, 43, 0, 55, 0, 44, 0, 46, 0, 56, 0), 0.399072, PackedByteArray(40, 0, 38, 0, 34, 0, 22, 0, 16, 0, 18, 0, 37, 0, 35, 0, 39, 0, 17, 0, 41, 0, 36, 0)],
+"material": SubResource("StandardMaterial3D_63gm4"),
+"primitive": 3,
+"vertex_count": 60,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 173, 197, 255, 127, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 15, 173, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 79, 101, 255, 127, 0, 0, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 166, 12, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 84, 173, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 116, 29, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 250, 172, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 40, 95, 255, 127, 255, 191, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 126, 167, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 71, 174, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 74, 239, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 202, 156, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 163, 241, 0, 0, 255, 223, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 255, 255, 114, 131, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 0, 186, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 255, 235, 135, 255, 255, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 52, 163, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 172, 91, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 144, 170, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 117, 3, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 180, 71, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 123, 133, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 130, 215, 124, 165, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 47, 195, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 25, 214, 0, 0, 255, 223, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 117, 147, 0, 0, 255, 255)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_hgony")
diff --git a/assets/nasa/starmap_and_constellation_figures_4k.jpg.import b/assets/nasa/starmap_and_constellation_figures_4k.jpg.import
index 849f7bb2..c0f13893 100644
--- a/assets/nasa/starmap_and_constellation_figures_4k.jpg.import
+++ b/assets/nasa/starmap_and_constellation_figures_4k.jpg.import
@@ -1,35 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.stex"
+type="CompressedTexture2D"
+uid="uid://2tmlveuwlpbw"
+path.bptc="res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.bptc.ctex"
+path.astc="res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.astc.ctex"
metadata={
-"vram_texture": false
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
+"vram_texture": true
}
[deps]
source_file="res://assets/nasa/starmap_and_constellation_figures_4k.jpg"
-dest_files=[ "res://.import/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.stex" ]
+dest_files=["res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.bptc.ctex", "res://.godot/imported/starmap_and_constellation_figures_4k.jpg-44440b8ebaa8e4137f11fb76267d3017.astc.ctex"]
[params]
-compress/mode=0
+compress/mode=2
+compress/high_quality=true
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/wahooney.itch.io/blue_grid.png.import b/assets/wahooney.itch.io/blue_grid.png.import
index c8a67f5e..132ddc82 100644
--- a/assets/wahooney.itch.io/blue_grid.png.import
+++ b/assets/wahooney.itch.io/blue_grid.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.stex"
-path.etc="res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.etc.stex"
+type="CompressedTexture2D"
+uid="uid://l8veg5s02oeb"
+path.s3tc="res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.ctex"
+path.etc2="res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/wahooney.itch.io/blue_grid.png"
-dest_files=[ "res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.stex", "res://.import/blue_grid.png-785a01a697c0777376608d81454e4958.etc.stex" ]
+dest_files=["res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.s3tc.ctex", "res://.godot/imported/blue_grid.png-785a01a697c0777376608d81454e4958.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/wahooney.itch.io/blue_grid.tres b/assets/wahooney.itch.io/blue_grid.tres
index aaea2650..6d9a728c 100644
--- a/assets/wahooney.itch.io/blue_grid.tres
+++ b/assets/wahooney.itch.io/blue_grid.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.png" type="Texture" id=1]
+[ext_resource path="res://assets/wahooney.itch.io/blue_grid.png" type="Texture2D" id=1]
[resource]
albedo_texture = ExtResource( 1 )
diff --git a/assets/wahooney.itch.io/brown_grid.png.import b/assets/wahooney.itch.io/brown_grid.png.import
index 0bc3db88..d7cc5bea 100644
--- a/assets/wahooney.itch.io/brown_grid.png.import
+++ b/assets/wahooney.itch.io/brown_grid.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.stex"
-path.etc="res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bskwc0drdadnd"
+path.s3tc="res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.ctex"
+path.etc2="res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/wahooney.itch.io/brown_grid.png"
-dest_files=[ "res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.stex", "res://.import/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc.stex" ]
+dest_files=["res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.s3tc.ctex", "res://.godot/imported/brown_grid.png-5cbd37038e3ea1da588854d56a43bef6.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/wahooney.itch.io/brown_grid_triplanar.tres b/assets/wahooney.itch.io/brown_grid_triplanar.tres
index 993409f5..e6825e55 100644
--- a/assets/wahooney.itch.io/brown_grid_triplanar.tres
+++ b/assets/wahooney.itch.io/brown_grid_triplanar.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture" id=1]
+[ext_resource path="res://assets/wahooney.itch.io/brown_grid.png" type="Texture2D" id=1]
[resource]
albedo_texture = ExtResource( 1 )
diff --git a/assets/wahooney.itch.io/green_grid.png.import b/assets/wahooney.itch.io/green_grid.png.import
index 084607b8..04d75660 100644
--- a/assets/wahooney.itch.io/green_grid.png.import
+++ b/assets/wahooney.itch.io/green_grid.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.stex"
-path.etc="res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cg0bm6gkv7jr8"
+path.s3tc="res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.ctex"
+path.etc2="res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/wahooney.itch.io/green_grid.png"
-dest_files=[ "res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.stex", "res://.import/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc.stex" ]
+dest_files=["res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.s3tc.ctex", "res://.godot/imported/green_grid.png-e9d81b3d42c428786d9997769a6729a2.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/assets/wahooney.itch.io/green_grid_triplanar.tres b/assets/wahooney.itch.io/green_grid_triplanar.tres
index a7418282..2b0cd62a 100644
--- a/assets/wahooney.itch.io/green_grid_triplanar.tres
+++ b/assets/wahooney.itch.io/green_grid_triplanar.tres
@@ -1,6 +1,6 @@
-[gd_resource type="SpatialMaterial" load_steps=2 format=2]
+[gd_resource type="StandardMaterial3D" load_steps=2 format=2]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid.png" type="Texture" id=1]
+[ext_resource path="res://assets/wahooney.itch.io/green_grid.png" type="Texture2D" id=1]
[resource]
params_diffuse_mode = 1
diff --git a/assets/wahooney.itch.io/white_grid.png.import b/assets/wahooney.itch.io/white_grid.png.import
index 28bc9159..1d1aa160 100644
--- a/assets/wahooney.itch.io/white_grid.png.import
+++ b/assets/wahooney.itch.io/white_grid.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.stex"
-path.etc="res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cqgdloakbawp"
+path.s3tc="res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.ctex"
+path.etc2="res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://assets/wahooney.itch.io/white_grid.png"
-dest_files=[ "res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.stex", "res://.import/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc.stex" ]
+dest_files=["res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.s3tc.ctex", "res://.godot/imported/white_grid.png-c97900fbca7fa76e931b70c777bf36eb.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=1
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/default_env.tres b/default_env.tres
index 0b01f43c..32503fd8 100644
--- a/default_env.tres
+++ b/default_env.tres
@@ -1,13 +1,16 @@
-[gd_resource type="Environment" load_steps=3 format=2]
+[gd_resource type="Environment" load_steps=4 format=3 uid="uid://c75hc5t2ml5re"]
-[ext_resource path="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg" type="Texture" id=1]
+[ext_resource type="Texture2D" uid="uid://dqoe1c5yn5dnv" path="res://assets/ambientcg.com/SkyOnlyHDRI023_2K-TONEMAPPED.jpg" id="1_hmp2i"]
-[sub_resource type="PanoramaSky" id=1]
-panorama = ExtResource( 1 )
+[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_5ed67"]
+panorama = ExtResource("1_hmp2i")
+
+[sub_resource type="Sky" id="1"]
+sky_material = SubResource("PanoramaSkyMaterial_5ed67")
[resource]
background_mode = 2
-background_sky = SubResource( 1 )
-background_sky_orientation = Basis( 0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025 )
-ambient_light_color = Color( 0.247059, 0.247059, 0.247059, 1 )
-ambient_light_sky_contribution = 0.5
+sky = SubResource("1")
+sky_rotation = Vector3(0, 0.523599, 0)
+ambient_light_color = Color(0.247059, 0.247059, 0.247059, 1)
+ambient_light_sky_contribution = 0.0
diff --git a/demo_staging.gd b/demo_staging.gd
index 2bcf35e6..19b52b63 100644
--- a/demo_staging.gd
+++ b/demo_staging.gd
@@ -1,4 +1,4 @@
-tool
+@tool
extends XRToolsStaging
## Introduction
@@ -24,6 +24,12 @@ extends XRToolsStaging
var scene_is_loaded : bool = false
+
+func _ready() -> void:
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
+
func _on_Staging_scene_loaded(_scene):
# We only show the press to continue the first time we load a scene
# to give the player time to put their headset on.
diff --git a/demo_staging.tscn b/demo_staging.tscn
index 081ac838..393e1ee2 100644
--- a/demo_staging.tscn
+++ b/demo_staging.tscn
@@ -1,16 +1,12 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://dkr1jkk3jerux"]
-[ext_resource path="res://addons/godot-xr-tools/staging/staging.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/godot/splash.png" type="Texture" id=2]
-[ext_resource path="res://demo_staging.gd" type="Script" id=3]
+[ext_resource type="PackedScene" uid="uid://bnqnnnet4dw12" path="res://addons/godot-xr-tools/staging/staging.tscn" id="1"]
+[ext_resource type="Script" path="res://demo_staging.gd" id="2"]
-[node name="DemoStaging" instance=ExtResource( 1 )]
-script = ExtResource( 3 )
+[node name="DemoStaging" instance=ExtResource("1")]
+script = ExtResource("2")
main_scene = "res://scenes/main_menu/main_menu_level.tscn"
-[node name="LoadingScreen" parent="." index="2"]
-splash_screen = ExtResource( 2 )
-
[connection signal="scene_exiting" from="." to="." method="_on_Staging_scene_exiting"]
[connection signal="scene_loaded" from="." to="." method="_on_Staging_scene_loaded"]
[connection signal="xr_ended" from="." to="." method="_on_Staging_xr_ended"]
diff --git a/export_presets.cfg b/export_presets.cfg
index 62578984..19a299f6 100644
--- a/export_presets.cfg
+++ b/export_presets.cfg
@@ -3,25 +3,29 @@
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
+dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
-exclude_filter="addons/godot-openxr/bin/android/*,addons/godot-openxr/linux/*"
+exclude_filter=""
export_path=""
-script_export_mode=1
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
script_encryption_key=""
[preset.0.options]
custom_template/debug=""
custom_template/release=""
-binary_format/64_bits=true
+debug/export_console_script=1
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
-texture_format/no_bptc_fallbacks=true
+binary_format/architecture="x86_64"
codesign/enable=false
codesign/identity_type=0
codesign/identity=""
@@ -30,9 +34,11 @@ codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
-codesign/custom_options=PoolStringArray( )
+codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
+application/console_wrapper_icon=""
+application/icon_interpolation=4
application/file_version=""
application/product_version=""
application/company_name=""
@@ -40,53 +46,94 @@ application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
+$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
+$trigger = New-ScheduledTaskTrigger -Once -At 00:00
+$settings = New-ScheduledTaskSettingsSet
+$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
+Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
+Start-ScheduledTask -TaskName godot_remote_debug
+while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
+ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
+Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
+Remove-Item -Recurse -Force '{temp_dir}'"
[preset.1]
name="Linux/X11"
platform="Linux/X11"
runnable=true
+dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
-exclude_filter="addons/godot-openxr/bin/android/*,addons/godot-openxr/windows/*"
+exclude_filter=""
export_path=""
-script_export_mode=1
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
script_encryption_key=""
[preset.1.options]
custom_template/debug=""
custom_template/release=""
-binary_format/64_bits=true
+debug/export_console_script=1
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
-texture_format/no_bptc_fallbacks=true
+binary_format/architecture="x86_64"
+ssh_remote_deploy/enabled=false
+ssh_remote_deploy/host="user@host_ip"
+ssh_remote_deploy/port="22"
+ssh_remote_deploy/extra_args_ssh=""
+ssh_remote_deploy/extra_args_scp=""
+ssh_remote_deploy/run_script="#!/usr/bin/env bash
+export DISPLAY=:0
+unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
+\"{temp_dir}/{exe_name}\" {cmd_args}"
+ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
+kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
+rm -rf \"{temp_dir}\""
[preset.2]
-name="Android"
+name="Android Quest"
platform="Android"
runnable=true
+dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
-exclude_filter="addons/godot-openxr/bin/windows/*,addons/godot-openxr/linux/*"
+exclude_filter=""
export_path=""
-script_export_mode=1
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
script_encryption_key=""
[preset.2.options]
custom_template/debug=""
custom_template/release=""
-custom_build/use_custom_build=false
-custom_build/export_format=0
-custom_build/min_sdk=""
-custom_build/target_sdk=""
+gradle_build/use_gradle_build=true
+gradle_build/export_format=0
+gradle_build/min_sdk=""
+gradle_build/target_sdk=""
+plugins/GodotOpenXRKHR=false
+plugins/GodotOpenXRLynx=false
+plugins/GodotOpenXRMeta=true
+plugins/GodotOpenXRPico=false
architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
@@ -97,20 +144,19 @@ keystore/debug_password=""
keystore/release=""
keystore/release_user=""
keystore/release_password=""
-one_click_deploy/clear_previous_install=true
version/code=1
version/name="1.0"
-package/unique_name="org.godotengine.$genname"
-package/name=""
+package/unique_name="org.godotengine.godotxrtoolsdemo"
+package/name="Godot XR Tools Demo"
package/signed=true
-package/classify_as_game=true
+package/app_category=2
package/retain_data_on_uninstall=false
package/exclude_from_recents=false
launcher_icons/main_192x192=""
launcher_icons/adaptive_foreground_432x432=""
launcher_icons/adaptive_background_432x432=""
graphics/opengl_debug=false
-xr_features/xr_mode=2
+xr_features/xr_mode=1
xr_features/hand_tracking=1
xr_features/hand_tracking_frequency=0
xr_features/passthrough=0
@@ -124,7 +170,7 @@ command_line/extra_args=""
apk_expansion/enable=false
apk_expansion/SALT=""
apk_expansion/public_key=""
-permissions/custom_permissions=PoolStringArray( )
+permissions/custom_permissions=PackedStringArray()
permissions/access_checkin_properties=false
permissions/access_coarse_location=false
permissions/access_fine_location=false
@@ -274,29 +320,676 @@ permissions/write_user_dictionary=false
[preset.3]
-name="WebXR"
-platform="HTML5"
-runnable=true
+name="Android Pico"
+platform="Android"
+runnable=false
+dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=""
-script_export_mode=1
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
script_encryption_key=""
[preset.3.options]
custom_template/debug=""
custom_template/release=""
-variant/export_type=1
-vram_texture_compression/for_desktop=true
-vram_texture_compression/for_mobile=true
-html/export_icon=true
-html/custom_html_shell=""
-html/head_include="
-
+
+
+"
html/canvas_resize_policy=2
html/focus_canvas_on_start=true
@@ -308,4 +1001,4 @@ progressive_web_app/orientation=0
progressive_web_app/icon_144x144=""
progressive_web_app/icon_180x180=""
progressive_web_app/icon_512x512=""
-progressive_web_app/background_color=Color( 0, 0, 0, 1 )
+progressive_web_app/background_color=Color(0, 0, 0, 1)
diff --git a/icon.png.import b/icon.png.import
index a4c02e6e..a97de462 100644
--- a/icon.png.import
+++ b/icon.png.import
@@ -1,8 +1,9 @@
[remap]
importer="texture"
-type="StreamTexture"
-path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+type="CompressedTexture2D"
+uid="uid://d1w4nehp5wvcv"
+path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
metadata={
"vram_texture": false
}
@@ -10,26 +11,24 @@ metadata={
[deps]
source_file="res://icon.png"
-dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
+dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
[params]
compress/mode=0
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=0
-flags/filter=true
-flags/mipmaps=false
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=true
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/openxr_action_map.tres b/openxr_action_map.tres
new file mode 100644
index 00000000..45f0f012
--- /dev/null
+++ b/openxr_action_map.tres
@@ -0,0 +1,826 @@
+[gd_resource type="OpenXRActionMap" load_steps=195 format=3 uid="uid://cv1tl7assnmqv"]
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_yifcd"]
+resource_name = "trigger"
+localized_name = "Trigger"
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_d0pni"]
+resource_name = "trigger_click"
+localized_name = "Trigger click"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_gdvbe"]
+resource_name = "trigger_touch"
+localized_name = "Trigger touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_u273q"]
+resource_name = "grip"
+localized_name = "Grip"
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_i5up3"]
+resource_name = "grip_click"
+localized_name = "Grip click"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_2q8nn"]
+resource_name = "grip_touch"
+localized_name = "Grip touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_mgaer"]
+resource_name = "primary"
+localized_name = "Primary joystick/thumbstick/trackpad"
+action_type = 2
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_x2ltk"]
+resource_name = "primary_click"
+localized_name = "Primary joystick/thumbstick/trackpad click"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_52a4b"]
+resource_name = "primary_touch"
+localized_name = "Primary joystick/thumbstick/trackpad touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_4m6bg"]
+resource_name = "secondary"
+localized_name = "Secondary joystick/thumbstick/trackpad"
+action_type = 2
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_30lu2"]
+resource_name = "secondary_click"
+localized_name = "Secondary joystick/thumbstick/trackpad click"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_m1gc0"]
+resource_name = "secondary_touch"
+localized_name = "Secondary joystick/thumbstick/trackpad touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_t725j"]
+resource_name = "menu_button"
+localized_name = "Menu button"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_11d6b"]
+resource_name = "select_button"
+localized_name = "Select button"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_rju0c"]
+resource_name = "ax_button"
+localized_name = "A/X button"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_k16im"]
+resource_name = "ax_touch"
+localized_name = "A/X touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_puvt0"]
+resource_name = "by_button"
+localized_name = "B/Y button"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_cjtwq"]
+resource_name = "by_touch"
+localized_name = "B/Y touching"
+action_type = 0
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_wp0gf"]
+resource_name = "default_pose"
+localized_name = "Default pose"
+action_type = 3
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_6cxc5"]
+resource_name = "aim_pose"
+localized_name = "Aim pose"
+action_type = 3
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_1qblt"]
+resource_name = "grip_pose"
+localized_name = "Grip pose"
+action_type = 3
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_c3bvs"]
+resource_name = "palm_pose"
+localized_name = "Palm pose"
+action_type = 3
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right")
+
+[sub_resource type="OpenXRAction" id="OpenXRAction_tbcxk"]
+resource_name = "haptic"
+localized_name = "Haptic"
+action_type = 4
+toplevel_paths = PackedStringArray("/user/hand/left", "/user/hand/right", "/user/vive_tracker_htcx/role/left_foot", "/user/vive_tracker_htcx/role/right_foot", "/user/vive_tracker_htcx/role/left_shoulder", "/user/vive_tracker_htcx/role/right_shoulder", "/user/vive_tracker_htcx/role/left_elbow", "/user/vive_tracker_htcx/role/right_elbow", "/user/vive_tracker_htcx/role/left_knee", "/user/vive_tracker_htcx/role/right_knee", "/user/vive_tracker_htcx/role/waist", "/user/vive_tracker_htcx/role/chest", "/user/vive_tracker_htcx/role/camera", "/user/vive_tracker_htcx/role/keyboard")
+
+[sub_resource type="OpenXRActionSet" id="OpenXRActionSet_hc02c"]
+resource_name = "godot"
+localized_name = "Godot action set"
+actions = [SubResource("OpenXRAction_yifcd"), SubResource("OpenXRAction_d0pni"), SubResource("OpenXRAction_gdvbe"), SubResource("OpenXRAction_u273q"), SubResource("OpenXRAction_i5up3"), SubResource("OpenXRAction_2q8nn"), SubResource("OpenXRAction_mgaer"), SubResource("OpenXRAction_x2ltk"), SubResource("OpenXRAction_52a4b"), SubResource("OpenXRAction_4m6bg"), SubResource("OpenXRAction_30lu2"), SubResource("OpenXRAction_m1gc0"), SubResource("OpenXRAction_t725j"), SubResource("OpenXRAction_11d6b"), SubResource("OpenXRAction_rju0c"), SubResource("OpenXRAction_k16im"), SubResource("OpenXRAction_puvt0"), SubResource("OpenXRAction_cjtwq"), SubResource("OpenXRAction_wp0gf"), SubResource("OpenXRAction_6cxc5"), SubResource("OpenXRAction_1qblt"), SubResource("OpenXRAction_c3bvs"), SubResource("OpenXRAction_tbcxk")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h35aj"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uak8b"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p1rec"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vu2bs"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vbsde"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yamwp"]
+action = SubResource("OpenXRAction_11d6b")
+paths = PackedStringArray("/user/hand/left/input/select/click", "/user/hand/right/input/select/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nuwua"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_q4jv5"]
+interaction_profile_path = "/interaction_profiles/khr/simple_controller"
+bindings = [SubResource("OpenXRIPBinding_h35aj"), SubResource("OpenXRIPBinding_uak8b"), SubResource("OpenXRIPBinding_p1rec"), SubResource("OpenXRIPBinding_vu2bs"), SubResource("OpenXRIPBinding_vbsde"), SubResource("OpenXRIPBinding_yamwp"), SubResource("OpenXRIPBinding_nuwua")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kf563"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nou6n"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d5lso"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vqs62"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_iecdf"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n4mb1"]
+action = SubResource("OpenXRAction_11d6b")
+paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5af17"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xsgf5"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gq8ni"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qu8te"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8o2jy"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_gqawc"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_v4qe8"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f74n8"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_gh0s5"]
+interaction_profile_path = "/interaction_profiles/htc/vive_controller"
+bindings = [SubResource("OpenXRIPBinding_kf563"), SubResource("OpenXRIPBinding_nou6n"), SubResource("OpenXRIPBinding_d5lso"), SubResource("OpenXRIPBinding_vqs62"), SubResource("OpenXRIPBinding_iecdf"), SubResource("OpenXRIPBinding_n4mb1"), SubResource("OpenXRIPBinding_5af17"), SubResource("OpenXRIPBinding_xsgf5"), SubResource("OpenXRIPBinding_gq8ni"), SubResource("OpenXRIPBinding_qu8te"), SubResource("OpenXRIPBinding_8o2jy"), SubResource("OpenXRIPBinding_gqawc"), SubResource("OpenXRIPBinding_v4qe8"), SubResource("OpenXRIPBinding_f74n8")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_poir5"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_n68hy"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4ad31"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p3eev"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rw5mk"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_are0a"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_17qyg"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_g74jv"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6jf88"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uikwl"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_mowmy"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6b0al"]
+action = SubResource("OpenXRAction_4m6bg")
+paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yu1bg"]
+action = SubResource("OpenXRAction_30lu2")
+paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_anwxi"]
+action = SubResource("OpenXRAction_m1gc0")
+paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_yopno"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_hk3uy"]
+interaction_profile_path = "/interaction_profiles/microsoft/motion_controller"
+bindings = [SubResource("OpenXRIPBinding_poir5"), SubResource("OpenXRIPBinding_n68hy"), SubResource("OpenXRIPBinding_4ad31"), SubResource("OpenXRIPBinding_p3eev"), SubResource("OpenXRIPBinding_rw5mk"), SubResource("OpenXRIPBinding_are0a"), SubResource("OpenXRIPBinding_17qyg"), SubResource("OpenXRIPBinding_g74jv"), SubResource("OpenXRIPBinding_6jf88"), SubResource("OpenXRIPBinding_uikwl"), SubResource("OpenXRIPBinding_mowmy"), SubResource("OpenXRIPBinding_6b0al"), SubResource("OpenXRIPBinding_yu1bg"), SubResource("OpenXRIPBinding_anwxi"), SubResource("OpenXRIPBinding_yopno")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dqveu"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qjbno"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h7u7a"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dcd50"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q2vgn"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3x1mc"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jung2"]
+action = SubResource("OpenXRAction_k16im")
+paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_kecgx"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hd4mg"]
+action = SubResource("OpenXRAction_cjtwq")
+paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_txmph"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q0qav"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7f2c6"]
+action = SubResource("OpenXRAction_gdvbe")
+paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xc83l"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e4pfh"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5e6gu"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_an033"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_bi2rr"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sfrs7"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_ci0m3"]
+interaction_profile_path = "/interaction_profiles/oculus/touch_controller"
+bindings = [SubResource("OpenXRIPBinding_dqveu"), SubResource("OpenXRIPBinding_qjbno"), SubResource("OpenXRIPBinding_h7u7a"), SubResource("OpenXRIPBinding_dcd50"), SubResource("OpenXRIPBinding_q2vgn"), SubResource("OpenXRIPBinding_3x1mc"), SubResource("OpenXRIPBinding_jung2"), SubResource("OpenXRIPBinding_kecgx"), SubResource("OpenXRIPBinding_hd4mg"), SubResource("OpenXRIPBinding_txmph"), SubResource("OpenXRIPBinding_q0qav"), SubResource("OpenXRIPBinding_7f2c6"), SubResource("OpenXRIPBinding_xc83l"), SubResource("OpenXRIPBinding_e4pfh"), SubResource("OpenXRIPBinding_5e6gu"), SubResource("OpenXRIPBinding_an033"), SubResource("OpenXRIPBinding_bi2rr"), SubResource("OpenXRIPBinding_sfrs7")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_831pi"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_h488p"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3se5t"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sbsju"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o26w6"]
+action = SubResource("OpenXRAction_11d6b")
+paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dy2rf"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/back/click", "/user/hand/right/input/back/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_50ft1"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xdnnt"]
+action = SubResource("OpenXRAction_k16im")
+paths = PackedStringArray("/user/hand/left/input/x/touch", "/user/hand/right/input/a/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o3yqq"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d2jet"]
+action = SubResource("OpenXRAction_cjtwq")
+paths = PackedStringArray("/user/hand/left/input/y/touch", "/user/hand/right/input/b/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4is5v"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_s01h2"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pnsof"]
+action = SubResource("OpenXRAction_gdvbe")
+paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_orb33"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_535g8"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a4cuy"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_hfsbe"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_i7atc"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4p7yi"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_8ffkv"]
+interaction_profile_path = "/interaction_profiles/pico/neo3_controller"
+bindings = [SubResource("OpenXRIPBinding_831pi"), SubResource("OpenXRIPBinding_h488p"), SubResource("OpenXRIPBinding_3se5t"), SubResource("OpenXRIPBinding_sbsju"), SubResource("OpenXRIPBinding_o26w6"), SubResource("OpenXRIPBinding_dy2rf"), SubResource("OpenXRIPBinding_50ft1"), SubResource("OpenXRIPBinding_xdnnt"), SubResource("OpenXRIPBinding_o3yqq"), SubResource("OpenXRIPBinding_d2jet"), SubResource("OpenXRIPBinding_4is5v"), SubResource("OpenXRIPBinding_s01h2"), SubResource("OpenXRIPBinding_pnsof"), SubResource("OpenXRIPBinding_orb33"), SubResource("OpenXRIPBinding_535g8"), SubResource("OpenXRIPBinding_a4cuy"), SubResource("OpenXRIPBinding_hfsbe"), SubResource("OpenXRIPBinding_i7atc"), SubResource("OpenXRIPBinding_4p7yi")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1ri7l"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2sgd0"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_oyya3"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dumbs"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_a2uon"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/system/click", "/user/hand/right/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_dcm1d"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/a/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_2ghly"]
+action = SubResource("OpenXRAction_k16im")
+paths = PackedStringArray("/user/hand/left/input/a/touch", "/user/hand/right/input/a/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_blar5"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/b/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fi1ba"]
+action = SubResource("OpenXRAction_cjtwq")
+paths = PackedStringArray("/user/hand/left/input/b/touch", "/user/hand/right/input/b/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7fout"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5vno0"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jjcin"]
+action = SubResource("OpenXRAction_gdvbe")
+paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ltvc3"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qngbh"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_11t31"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_uj5o6"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_wysp0"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1hvgc"]
+action = SubResource("OpenXRAction_4m6bg")
+paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_nm4ci"]
+action = SubResource("OpenXRAction_30lu2")
+paths = PackedStringArray("/user/hand/left/input/trackpad/force", "/user/hand/right/input/trackpad/force")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ucv5v"]
+action = SubResource("OpenXRAction_m1gc0")
+paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_l2uyd"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_s65fn"]
+interaction_profile_path = "/interaction_profiles/valve/index_controller"
+bindings = [SubResource("OpenXRIPBinding_1ri7l"), SubResource("OpenXRIPBinding_2sgd0"), SubResource("OpenXRIPBinding_oyya3"), SubResource("OpenXRIPBinding_dumbs"), SubResource("OpenXRIPBinding_a2uon"), SubResource("OpenXRIPBinding_dcm1d"), SubResource("OpenXRIPBinding_2ghly"), SubResource("OpenXRIPBinding_blar5"), SubResource("OpenXRIPBinding_fi1ba"), SubResource("OpenXRIPBinding_7fout"), SubResource("OpenXRIPBinding_5vno0"), SubResource("OpenXRIPBinding_jjcin"), SubResource("OpenXRIPBinding_ltvc3"), SubResource("OpenXRIPBinding_qngbh"), SubResource("OpenXRIPBinding_11t31"), SubResource("OpenXRIPBinding_uj5o6"), SubResource("OpenXRIPBinding_wysp0"), SubResource("OpenXRIPBinding_1hvgc"), SubResource("OpenXRIPBinding_nm4ci"), SubResource("OpenXRIPBinding_ucv5v"), SubResource("OpenXRIPBinding_l2uyd")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pgv5o"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jkyjn"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ohi27"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_f3rpf"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_56e0t"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8viho"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_aerac"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_b8jr7"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_e87j0"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_xcpgw"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_agwck"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/value", "/user/hand/right/input/squeeze/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_fvx5x"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t50dk"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jja32"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_7w34y"]
+interaction_profile_path = "/interaction_profiles/hp/mixed_reality_controller"
+bindings = [SubResource("OpenXRIPBinding_pgv5o"), SubResource("OpenXRIPBinding_jkyjn"), SubResource("OpenXRIPBinding_ohi27"), SubResource("OpenXRIPBinding_f3rpf"), SubResource("OpenXRIPBinding_56e0t"), SubResource("OpenXRIPBinding_8viho"), SubResource("OpenXRIPBinding_aerac"), SubResource("OpenXRIPBinding_b8jr7"), SubResource("OpenXRIPBinding_e87j0"), SubResource("OpenXRIPBinding_xcpgw"), SubResource("OpenXRIPBinding_agwck"), SubResource("OpenXRIPBinding_fvx5x"), SubResource("OpenXRIPBinding_t50dk"), SubResource("OpenXRIPBinding_jja32")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_t0cml"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ms10r"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_d6355"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_oskmg"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4kfx4"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click", "/user/hand/right/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3uuwr"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vh134"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1fhju"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_jsvrg"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cjody"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q7nq1"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1xqks"]
+action = SubResource("OpenXRAction_4m6bg")
+paths = PackedStringArray("/user/hand/left/input/trackpad", "/user/hand/right/input/trackpad")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_5v7jf"]
+action = SubResource("OpenXRAction_30lu2")
+paths = PackedStringArray("/user/hand/left/input/trackpad/click", "/user/hand/right/input/trackpad/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_agw55"]
+action = SubResource("OpenXRAction_m1gc0")
+paths = PackedStringArray("/user/hand/left/input/trackpad/touch", "/user/hand/right/input/trackpad/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_k4fqu"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_a7xw5"]
+interaction_profile_path = "/interaction_profiles/samsung/odyssey_controller"
+bindings = [SubResource("OpenXRIPBinding_t0cml"), SubResource("OpenXRIPBinding_ms10r"), SubResource("OpenXRIPBinding_d6355"), SubResource("OpenXRIPBinding_oskmg"), SubResource("OpenXRIPBinding_4kfx4"), SubResource("OpenXRIPBinding_3uuwr"), SubResource("OpenXRIPBinding_vh134"), SubResource("OpenXRIPBinding_1fhju"), SubResource("OpenXRIPBinding_jsvrg"), SubResource("OpenXRIPBinding_cjody"), SubResource("OpenXRIPBinding_q7nq1"), SubResource("OpenXRIPBinding_1xqks"), SubResource("OpenXRIPBinding_5v7jf"), SubResource("OpenXRIPBinding_agw55"), SubResource("OpenXRIPBinding_k4fqu")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_rdc8g"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_7ci1c"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0pd2x"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_4rwwh"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_lvx1l"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_p2tcy"]
+action = SubResource("OpenXRAction_11d6b")
+paths = PackedStringArray("/user/hand/left/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8lqkg"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m1igx"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_o24jy"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_vdw57"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_q0bn5"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sihq1"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1ofap"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_twoyd"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_m8qx7"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_pfjox"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_rsga2"]
+interaction_profile_path = "/interaction_profiles/htc/vive_cosmos_controller"
+bindings = [SubResource("OpenXRIPBinding_rdc8g"), SubResource("OpenXRIPBinding_7ci1c"), SubResource("OpenXRIPBinding_0pd2x"), SubResource("OpenXRIPBinding_4rwwh"), SubResource("OpenXRIPBinding_lvx1l"), SubResource("OpenXRIPBinding_p2tcy"), SubResource("OpenXRIPBinding_8lqkg"), SubResource("OpenXRIPBinding_m1igx"), SubResource("OpenXRIPBinding_o24jy"), SubResource("OpenXRIPBinding_vdw57"), SubResource("OpenXRIPBinding_q0bn5"), SubResource("OpenXRIPBinding_sihq1"), SubResource("OpenXRIPBinding_1ofap"), SubResource("OpenXRIPBinding_twoyd"), SubResource("OpenXRIPBinding_m8qx7"), SubResource("OpenXRIPBinding_pfjox")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_8xu3w"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_1u3na"]
+action = SubResource("OpenXRAction_6cxc5")
+paths = PackedStringArray("/user/hand/left/input/aim/pose", "/user/hand/right/input/aim/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_c33kw"]
+action = SubResource("OpenXRAction_1qblt")
+paths = PackedStringArray("/user/hand/left/input/grip/pose", "/user/hand/right/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_u6tly"]
+action = SubResource("OpenXRAction_c3bvs")
+paths = PackedStringArray("/user/hand/left/input/palm_ext/pose", "/user/hand/right/input/palm_ext/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_sn23a"]
+action = SubResource("OpenXRAction_t725j")
+paths = PackedStringArray("/user/hand/left/input/menu/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_cieo2"]
+action = SubResource("OpenXRAction_11d6b")
+paths = PackedStringArray("/user/hand/left/input/system/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_ur5bb"]
+action = SubResource("OpenXRAction_rju0c")
+paths = PackedStringArray("/user/hand/left/input/x/click", "/user/hand/right/input/a/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0hjty"]
+action = SubResource("OpenXRAction_puvt0")
+paths = PackedStringArray("/user/hand/left/input/y/click", "/user/hand/right/input/b/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3n65m"]
+action = SubResource("OpenXRAction_yifcd")
+paths = PackedStringArray("/user/hand/left/input/trigger/value", "/user/hand/right/input/trigger/value")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_tyef1"]
+action = SubResource("OpenXRAction_d0pni")
+paths = PackedStringArray("/user/hand/left/input/trigger/click", "/user/hand/right/input/trigger/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3ejfe"]
+action = SubResource("OpenXRAction_gdvbe")
+paths = PackedStringArray("/user/hand/left/input/trigger/touch", "/user/hand/right/input/trigger/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_qv4l5"]
+action = SubResource("OpenXRAction_u273q")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_avlo8"]
+action = SubResource("OpenXRAction_i5up3")
+paths = PackedStringArray("/user/hand/left/input/squeeze/click", "/user/hand/right/input/squeeze/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_j6cdb"]
+action = SubResource("OpenXRAction_mgaer")
+paths = PackedStringArray("/user/hand/left/input/thumbstick", "/user/hand/right/input/thumbstick")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_og1jk"]
+action = SubResource("OpenXRAction_x2ltk")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/click", "/user/hand/right/input/thumbstick/click")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_45gim"]
+action = SubResource("OpenXRAction_52a4b")
+paths = PackedStringArray("/user/hand/left/input/thumbstick/touch", "/user/hand/right/input/thumbstick/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_6gub5"]
+action = SubResource("OpenXRAction_m1gc0")
+paths = PackedStringArray("/user/hand/left/input/thumbrest/touch", "/user/hand/right/input/thumbrest/touch")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_3s8qf"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/hand/left/output/haptic", "/user/hand/right/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_t3axk"]
+interaction_profile_path = "/interaction_profiles/htc/vive_focus3_controller"
+bindings = [SubResource("OpenXRIPBinding_8xu3w"), SubResource("OpenXRIPBinding_1u3na"), SubResource("OpenXRIPBinding_c33kw"), SubResource("OpenXRIPBinding_u6tly"), SubResource("OpenXRIPBinding_sn23a"), SubResource("OpenXRIPBinding_cieo2"), SubResource("OpenXRIPBinding_ur5bb"), SubResource("OpenXRIPBinding_0hjty"), SubResource("OpenXRIPBinding_3n65m"), SubResource("OpenXRIPBinding_tyef1"), SubResource("OpenXRIPBinding_3ejfe"), SubResource("OpenXRIPBinding_qv4l5"), SubResource("OpenXRIPBinding_avlo8"), SubResource("OpenXRIPBinding_j6cdb"), SubResource("OpenXRIPBinding_og1jk"), SubResource("OpenXRIPBinding_45gim"), SubResource("OpenXRIPBinding_6gub5"), SubResource("OpenXRIPBinding_3s8qf")]
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_0hhqt"]
+action = SubResource("OpenXRAction_wp0gf")
+paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/input/grip/pose", "/user/vive_tracker_htcx/role/right_foot/input/grip/pose", "/user/vive_tracker_htcx/role/left_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/right_shoulder/input/grip/pose", "/user/vive_tracker_htcx/role/left_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/right_elbow/input/grip/pose", "/user/vive_tracker_htcx/role/left_knee/input/grip/pose", "/user/vive_tracker_htcx/role/right_knee/input/grip/pose", "/user/vive_tracker_htcx/role/waist/input/grip/pose", "/user/vive_tracker_htcx/role/chest/input/grip/pose", "/user/vive_tracker_htcx/role/camera/input/grip/pose", "/user/vive_tracker_htcx/role/keyboard/input/grip/pose")
+
+[sub_resource type="OpenXRIPBinding" id="OpenXRIPBinding_up7fp"]
+action = SubResource("OpenXRAction_tbcxk")
+paths = PackedStringArray("/user/vive_tracker_htcx/role/left_foot/output/haptic", "/user/vive_tracker_htcx/role/right_foot/output/haptic", "/user/vive_tracker_htcx/role/left_shoulder/output/haptic", "/user/vive_tracker_htcx/role/right_shoulder/output/haptic", "/user/vive_tracker_htcx/role/left_elbow/output/haptic", "/user/vive_tracker_htcx/role/right_elbow/output/haptic", "/user/vive_tracker_htcx/role/left_knee/output/haptic", "/user/vive_tracker_htcx/role/right_knee/output/haptic", "/user/vive_tracker_htcx/role/waist/output/haptic", "/user/vive_tracker_htcx/role/chest/output/haptic", "/user/vive_tracker_htcx/role/camera/output/haptic", "/user/vive_tracker_htcx/role/keyboard/output/haptic")
+
+[sub_resource type="OpenXRInteractionProfile" id="OpenXRInteractionProfile_2ydwc"]
+interaction_profile_path = "/interaction_profiles/htc/vive_tracker_htcx"
+bindings = [SubResource("OpenXRIPBinding_0hhqt"), SubResource("OpenXRIPBinding_up7fp")]
+
+[resource]
+action_sets = [SubResource("OpenXRActionSet_hc02c")]
+interaction_profiles = [SubResource("OpenXRInteractionProfile_q4jv5"), SubResource("OpenXRInteractionProfile_gh0s5"), SubResource("OpenXRInteractionProfile_hk3uy"), SubResource("OpenXRInteractionProfile_ci0m3"), SubResource("OpenXRInteractionProfile_8ffkv"), SubResource("OpenXRInteractionProfile_s65fn"), SubResource("OpenXRInteractionProfile_7w34y"), SubResource("OpenXRInteractionProfile_a7xw5"), SubResource("OpenXRInteractionProfile_rsga2"), SubResource("OpenXRInteractionProfile_t3axk"), SubResource("OpenXRInteractionProfile_2ydwc")]
diff --git a/project.godot b/project.godot
index 7e156a88..4de2f1b5 100644
--- a/project.godot
+++ b/project.godot
@@ -6,388 +6,13 @@
; [section] ; section goes between []
; param=value ; assign values to parameters
-config_version=4
-
-_global_script_classes=[ {
-"base": "Reference",
-"class": "ARVRHelpers",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/misc/arvr_helpers.gd"
-}, {
-"base": "Spatial",
-"class": "Teleport",
-"language": "GDScript",
-"path": "res://assets/meshes/teleport/teleport.gd"
-}, {
-"base": "Node",
-"class": "XRTools",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/xr_tools.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsClimbable",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/climbable.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsFallDamage",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/examples/fall_damage.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsFunctionPickup",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/function_pickup.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsFunctionPointer",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/function_pointer.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsFunctionPoseDetector",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/function_pose_detector.gd"
-}, {
-"base": "KinematicBody",
-"class": "XRToolsFunctionTeleport",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/function_teleport.gd"
-}, {
-"base": "Position3D",
-"class": "XRToolsGrabPoint",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point.gd"
-}, {
-"base": "XRToolsGrabPoint",
-"class": "XRToolsGrabPointHand",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point_hand.gd"
-}, {
-"base": "XRToolsGrabPoint",
-"class": "XRToolsGrabPointSnap",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.gd"
-}, {
-"base": "Node",
-"class": "XRToolsGroundPhysics",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/overrides/ground_physics.gd"
-}, {
-"base": "Resource",
-"class": "XRToolsGroundPhysicsSettings",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/overrides/ground_physics_settings.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsHand",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/hands/hand.gd"
-}, {
-"base": "BoneAttachment",
-"class": "XRToolsHandPhysicsBone",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/hands/hand_physics_bone.gd"
-}, {
-"base": "Area",
-"class": "XRToolsHandPoseArea",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/hand_pose_area.gd"
-}, {
-"base": "Resource",
-"class": "XRToolsHandPoseSettings",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd"
-}, {
-"base": "Node",
-"class": "XRToolsHighlightMaterial",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/highlight/highlight_material.gd"
-}, {
-"base": "MeshInstance",
-"class": "XRToolsHighlightRing",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/highlight/highlight_ring.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsHighlightVisible",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsHoldButton",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/misc/hold_button.gd"
-}, {
-"base": "Area",
-"class": "XRToolsInteractableArea",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/interactable_area.gd"
-}, {
-"base": "Area",
-"class": "XRToolsInteractableAreaButton",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_area_button.gd"
-}, {
-"base": "PhysicsBody",
-"class": "XRToolsInteractableBody",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/interactable_body.gd"
-}, {
-"base": "XRToolsPickable",
-"class": "XRToolsInteractableHandle",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_handle.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsInteractableHandleDriven",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_handle_driven.gd"
-}, {
-"base": "XRToolsInteractableHandleDriven",
-"class": "XRToolsInteractableHinge",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_hinge.gd"
-}, {
-"base": "XRToolsInteractableHandleDriven",
-"class": "XRToolsInteractableJoystick",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_joystick.gd"
-}, {
-"base": "XRToolsInteractableHandleDriven",
-"class": "XRToolsInteractableSlider",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/interactables/interactable_slider.gd"
-}, {
-"base": "Node",
-"class": "XRToolsMoveTo",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/misc/move_to.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementClimb",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_climb.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementCrouch",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_crouch.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementDirect",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_direct.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementFlight",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_flight.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementFootstep",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_footstep.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementGlide",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_glide.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementGrapple",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_grapple.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementJump",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_jump.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementPhysicalJump",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_physical_jump.gd"
-}, {
-"base": "Node",
-"class": "XRToolsMovementProvider",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_provider.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementSprint",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_sprint.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementTurn",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_turn.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementWallWalk",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_wall_walk.gd"
-}, {
-"base": "XRToolsMovementProvider",
-"class": "XRToolsMovementWind",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/functions/movement_wind.gd"
-}, {
-"base": "XRToolsHand",
-"class": "XRToolsPhysicsHand",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/hands/physics_hand.gd"
-}, {
-"base": "RigidBody",
-"class": "XRToolsPickable",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/pickable.gd"
-}, {
-"base": "KinematicBody",
-"class": "XRToolsPlayerBody",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/player/player_body.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsPoke",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/player/poke/poke.gd"
-}, {
-"base": "Node",
-"class": "XRToolsResourceQueue",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/assets/resource_queue/resource_queue.gd"
-}, {
-"base": "Node",
-"class": "XRToolsReturnToSnapZone",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/return_to_snap_zone.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsSceneBase",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/staging/scene_base.gd"
-}, {
-"base": "Area",
-"class": "XRToolsSnapZone",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/snap_zone.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsStaging",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/staging/staging.gd"
-}, {
-"base": "Node",
-"class": "XRToolsStartXR",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/xr/start_xr.gd"
-}, {
-"base": "Node",
-"class": "XRToolsSurfaceAudio",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/audio/surface_audio.gd"
-}, {
-"base": "Resource",
-"class": "XRToolsSurfaceAudioType",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/audio/surface_audio_type.gd"
-}, {
-"base": "Reference",
-"class": "XRToolsVelocityAverager",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/misc/velocity_averager.gd"
-}, {
-"base": "Reference",
-"class": "XRToolsVelocityAveragerLinear",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/misc/velocity_averager_linear.gd"
-}, {
-"base": "Spatial",
-"class": "XRToolsVignette",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/effects/vignette.gd"
-}, {
-"base": "CanvasLayer",
-"class": "XRToolsVirtualKeyboard2D",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/keyboard/virtual_keyboard_2d.gd"
-}, {
-"base": "Area",
-"class": "XRToolsWindArea",
-"language": "GDScript",
-"path": "res://addons/godot-xr-tools/objects/wind_area.gd"
-} ]
-_global_script_class_icons={
-"ARVRHelpers": "",
-"Teleport": "",
-"XRTools": "",
-"XRToolsClimbable": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsFallDamage": "",
-"XRToolsFunctionPickup": "res://addons/godot-xr-tools/editor/icons/function.svg",
-"XRToolsFunctionPointer": "res://addons/godot-xr-tools/editor/icons/function.svg",
-"XRToolsFunctionPoseDetector": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsFunctionTeleport": "res://addons/godot-xr-tools/editor/icons/function.svg",
-"XRToolsGrabPoint": "",
-"XRToolsGrabPointHand": "",
-"XRToolsGrabPointSnap": "",
-"XRToolsGroundPhysics": "",
-"XRToolsGroundPhysicsSettings": "",
-"XRToolsHand": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsHandPhysicsBone": "",
-"XRToolsHandPoseArea": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsHandPoseSettings": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsHighlightMaterial": "",
-"XRToolsHighlightRing": "",
-"XRToolsHighlightVisible": "",
-"XRToolsHoldButton": "",
-"XRToolsInteractableArea": "",
-"XRToolsInteractableAreaButton": "",
-"XRToolsInteractableBody": "",
-"XRToolsInteractableHandle": "",
-"XRToolsInteractableHandleDriven": "",
-"XRToolsInteractableHinge": "",
-"XRToolsInteractableJoystick": "",
-"XRToolsInteractableSlider": "",
-"XRToolsMoveTo": "",
-"XRToolsMovementClimb": "",
-"XRToolsMovementCrouch": "",
-"XRToolsMovementDirect": "",
-"XRToolsMovementFlight": "",
-"XRToolsMovementFootstep": "",
-"XRToolsMovementGlide": "",
-"XRToolsMovementGrapple": "",
-"XRToolsMovementJump": "",
-"XRToolsMovementPhysicalJump": "",
-"XRToolsMovementProvider": "res://addons/godot-xr-tools/editor/icons/movement_provider.svg",
-"XRToolsMovementSprint": "",
-"XRToolsMovementTurn": "",
-"XRToolsMovementWallWalk": "",
-"XRToolsMovementWind": "",
-"XRToolsPhysicsHand": "",
-"XRToolsPickable": "",
-"XRToolsPlayerBody": "res://addons/godot-xr-tools/editor/icons/body.svg",
-"XRToolsPoke": "",
-"XRToolsResourceQueue": "",
-"XRToolsReturnToSnapZone": "res://addons/godot-xr-tools/editor/icons/hand.svg",
-"XRToolsSceneBase": "",
-"XRToolsSnapZone": "",
-"XRToolsStaging": "",
-"XRToolsStartXR": "",
-"XRToolsSurfaceAudio": "res://addons/godot-xr-tools/editor/icons/foot.svg",
-"XRToolsSurfaceAudioType": "res://addons/godot-xr-tools/editor/icons/body.svg",
-"XRToolsVelocityAverager": "",
-"XRToolsVelocityAveragerLinear": "",
-"XRToolsVignette": "",
-"XRToolsVirtualKeyboard2D": "",
-"XRToolsWindArea": ""
-}
+config_version=5
[application]
config/name="Godot XR Tools Demo"
run/main_scene="res://demo_staging.tscn"
+config/features=PackedStringArray("4.0")
config/icon="res://icon.png"
[autoload]
@@ -396,11 +21,11 @@ XRToolsUserSettings="*res://addons/godot-xr-tools/user_settings/user_settings.gd
[editor_plugins]
-enabled=PoolStringArray( "res://addons/godot-openxr/plugin.cfg", "res://addons/godot-xr-tools/plugin.cfg" )
+enabled=PackedStringArray("res://addons/godot-xr-tools/plugin.cfg")
[gdnative]
-singletons=[ "res://addons/godot-openxr/config/godot_openxr.gdnlib" ]
+singletons=["res://addons/godot-openxr/config/godot_openxr.gdnlib"]
[gui]
@@ -411,7 +36,7 @@ common/drop_mouse_on_gui_input_disabled=true
3d_physics/layer_1="static_world"
3d_physics/layer_2="dynamic_world"
3d_physics/layer_3="object"
-3d_physics/layer_4="orientable_ground"
+3d_physics/layer_4="wall_walk"
3d_physics/layer_17="held_object"
3d_physics/layer_18="player_hand"
3d_physics/layer_19="handle"
@@ -425,8 +50,14 @@ common/enable_pause_aware_picking=true
[rendering]
+renderer/rendering_method="mobile"
+textures/vram_compression/import_etc2_astc=true
+limits/time/time_rollover_secs=30.0
quality/driver/driver_name="GLES2"
vram_compression/import_etc=true
vram_compression/import_etc2=false
-limits/time/time_rollover_secs=30.0
-environment/default_environment="res://default_env.tres"
+
+[xr]
+
+openxr/enabled=true
+shaders/enabled=true
diff --git a/scenes/basic_movement_demo/basic movement demo.png.import b/scenes/basic_movement_demo/basic movement demo.png.import
index 40b537c3..ff9afb45 100644
--- a/scenes/basic_movement_demo/basic movement demo.png.import
+++ b/scenes/basic_movement_demo/basic movement demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.stex"
-path.etc="res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc.stex"
+type="CompressedTexture2D"
+uid="uid://8jxrr3gqnxck"
+path.s3tc="res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.ctex"
+path.etc2="res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/basic_movement_demo/basic movement demo.png"
-dest_files=[ "res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.stex", "res://.import/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc.stex" ]
+dest_files=["res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.s3tc.ctex", "res://.godot/imported/basic movement demo.png-b7d20a2baeea284f76e6ba59c33275b1.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/basic_movement_demo/basic_movement_demo.tscn b/scenes/basic_movement_demo/basic_movement_demo.tscn
index 97f5e250..b921de08 100644
--- a/scenes/basic_movement_demo/basic_movement_demo.tscn
+++ b/scenes/basic_movement_demo/basic_movement_demo.tscn
@@ -1,69 +1,66 @@
-[gd_scene load_steps=15 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=6]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=7]
-[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=8]
-[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=10]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=12]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=13]
-[ext_resource path="res://scenes/basic_movement_demo/objects/instructions.tscn" type="PackedScene" id=14]
-
-[node name="BasicMovementDemo" instance=ExtResource( 1 )]
-
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 2 )]
-
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[gd_scene load_steps=16 format=3 uid="uid://c3pffsm74as2t"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_5ptmo"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_54yy3"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="5_2ekvc"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_0hbex"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="11"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="12"]
+[ext_resource type="PackedScene" uid="uid://dipg8euybm3f1" path="res://scenes/basic_movement_demo/objects/instructions.tscn" id="12_qasi6"]
+
+[node name="BasicMovementDemo" instance=ExtResource("1")]
+script = ExtResource("2_5ptmo")
+
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_54yy3")]
+
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
strafe = true
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 10 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("10")]
+jump_button_action = "ax_button"
-[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 13 )]
+[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("5_2ekvc")]
crouch_height = 1.3
-crouch_button = 1
+crouch_button_action = "by_button"
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 3 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_0hbex")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 4 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("4")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 10 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("10")]
+jump_button_action = "ax_button"
-[node name="MovementCrouch" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 13 )]
+[node name="MovementCrouch" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("5_2ekvc")]
crouch_height = 1.3
-crouch_button = 1
+crouch_button_action = "by_button"
crouch_type = 1
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 6 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("6")]
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 7 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("7")]
-[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7 )
+[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
scene_base = NodePath("..")
-title = ExtResource( 12 )
+title = ExtResource("12")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("12_qasi6")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4)
-[node name="Ramps" parent="." index="4" instance=ExtResource( 8 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8 )
+[node name="Ramps" parent="." index="4" instance=ExtResource("8")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8)
-[node name="Mound" parent="." index="5" instance=ExtResource( 9 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8 )
+[node name="Mound" parent="." index="5" instance=ExtResource("9")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8)
diff --git a/scenes/basic_movement_demo/objects/instructions.tscn b/scenes/basic_movement_demo/objects/instructions.tscn
index b7786fe9..dfdfd66e 100644
--- a/scenes/basic_movement_demo/objects/instructions.tscn
+++ b/scenes/basic_movement_demo/objects/instructions.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://dipg8euybm3f1"]
-[ext_resource path="res://scenes/basic_movement_demo/objects/instructions_2d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
+[ext_resource type="PackedScene" uid="uid://px47xx1e0la2" path="res://scenes/basic_movement_demo/objects/instructions_2d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
-[sub_resource type="CubeMesh" id=1]
-material = ExtResource( 3 )
-size = Vector3( 4.2, 2.7, 0.1 )
+[sub_resource type="BoxMesh" id="1"]
+material = ExtResource("3")
+size = Vector3(4.2, 2.7, 0.1)
-[node name="Instructions" type="Spatial"]
+[node name="Instructions" type="Node3D"]
-[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )]
-screen_size = Vector2( 4, 2.5 )
-viewport_size = Vector2( 400, 250 )
+[node name="Viewport2Din3D" parent="." instance=ExtResource("2")]
+screen_size = Vector2(4, 2.5)
+viewport_size = Vector2(400, 250)
unshaded = true
-scene = ExtResource( 1 )
+scene = ExtResource("1")
update_mode = 0
collision_layer = 0
-[node name="MeshInstance" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 )
-mesh = SubResource( 1 )
+[node name="MeshInstance" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1)
+mesh = SubResource("1")
diff --git a/scenes/basic_movement_demo/objects/instructions_2d.tscn b/scenes/basic_movement_demo/objects/instructions_2d.tscn
index 6a97b4f5..ca0863dc 100644
--- a/scenes/basic_movement_demo/objects/instructions_2d.tscn
+++ b/scenes/basic_movement_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://px47xx1e0la2"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 1
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Basic Movement Demo
This scene demonstrates basic movement.
diff --git a/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import b/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import
index 21b96d9e..c2d9ec40 100644
--- a/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import
+++ b/scenes/climbing_gliding_demo/climbing_gliding_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.stex"
-path.etc="res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc.stex"
+type="CompressedTexture2D"
+uid="uid://d3epm85d4s28f"
+path.s3tc="res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.ctex"
+path.etc2="res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png"
-dest_files=[ "res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.stex", "res://.import/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc.stex" ]
+dest_files=["res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.s3tc.ctex", "res://.godot/imported/climbing_gliding_demo.png-081dc6127bfcb7c6b0f985142441fb0b.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn b/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn
index 05cc283e..ea0956d0 100644
--- a/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn
+++ b/scenes/climbing_gliding_demo/climbing_gliding_demo.tscn
@@ -1,241 +1,238 @@
-[gd_scene load_steps=23 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=9]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=10]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/cliff.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/wind_area.tscn" type="PackedScene" id=12]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=13]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=14]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=15]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/hill.tscn" type="PackedScene" id=16]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" type="Material" id=17]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/instructions.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/ring.tscn" type="PackedScene" id=19]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.tscn" type="PackedScene" id=22]
-
-[sub_resource type="CubeMesh" id=1]
-size = Vector3( 200, 1, 200 )
-
-[sub_resource type="BoxShape" id=2]
-extents = Vector3( 100, 0.5, 100 )
-
-[node name="ClimbingGlidingDemo" instance=ExtResource( 1 )]
-
-[node name="ARVROrigin" parent="." index="0"]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -89, 36, -65 )
-
-[node name="ARVRCamera" parent="ARVROrigin" index="0"]
+[gd_scene load_steps=24 format=3 uid="uid://c7ebkdn7ryqrp"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_nosao"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_xkd6u"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_vqlyr"]
+[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="8"]
+[ext_resource type="Material" uid="uid://p0q2df2dmy62" path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" id="8_cr7b0"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="9"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="10"]
+[ext_resource type="PackedScene" uid="uid://bt8kw5a34upwm" path="res://scenes/climbing_gliding_demo/objects/cliff.tscn" id="11"]
+[ext_resource type="PackedScene" uid="uid://bt2i205mlq1q0" path="res://scenes/climbing_gliding_demo/objects/wind_area.tscn" id="12"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="13"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://cm0cpldqa6j4d" path="res://scenes/climbing_gliding_demo/objects/hill.tscn" id="16"]
+[ext_resource type="PackedScene" path="res://scenes/climbing_gliding_demo/objects/ring.tscn" id="18_gu236"]
+[ext_resource type="PackedScene" uid="uid://b634pnt2nrn77" path="res://scenes/climbing_gliding_demo/objects/instructions.tscn" id="19_3dxda"]
+[ext_resource type="PackedScene" uid="uid://bgts3vpmjn6bb" path="res://addons/godot-xr-tools/functions/movement_wind.tscn" id="22"]
+
+[sub_resource type="BoxMesh" id="1"]
+size = Vector3(200, 1, 200)
+
+[sub_resource type="BoxShape3D" id="2"]
+size = Vector3(200, 1, 200)
+
+[node name="ClimbingGlidingDemo" instance=ExtResource("1")]
+script = ExtResource("2_nosao")
+
+[node name="XROrigin3D" parent="." index="0"]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -89, 36, -65)
+
+[node name="XRCamera3D" parent="XROrigin3D" index="0"]
far = 400.0
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )]
-hand_material_override = ExtResource( 17 )
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_xkd6u")]
+hand_material_override = ExtResource("8_cr7b0")
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
strafe = true
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 9 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("9")]
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 15 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("15")]
+jump_button_action = "ax_button"
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 2 )]
-hand_material_override = ExtResource( 17 )
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_vqlyr")]
+hand_material_override = ExtResource("8_cr7b0")
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 4 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("4")]
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 9 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("9")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 15 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("15")]
+jump_button_action = "ax_button"
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 6 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("6")]
-[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 8 )]
+[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("8")]
-[node name="MovementGlide" parent="ARVROrigin" index="5" instance=ExtResource( 7 )]
+[node name="MovementGlide" parent="XROrigin3D" index="5" instance=ExtResource("7")]
turn_with_roll = true
wings_impulse = true
-[node name="MovementWind" parent="ARVROrigin" index="6" instance=ExtResource( 22 )]
+[node name="MovementWind" parent="XROrigin3D" index="6" instance=ExtResource("22")]
-[node name="DirectionalLight" type="DirectionalLight" parent="." index="1"]
-transform = Transform( 0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0 )
+[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." index="1"]
+transform = Transform3D(0.866025, -0.321394, 0.383022, 0, 0.766044, 0.642788, -0.5, -0.55667, 0.663414, 0, 5, 0)
light_energy = 0.8
-[node name="Terrain" type="Spatial" parent="." index="2"]
+[node name="Terrain" type="Node3D" parent="." index="2"]
-[node name="Ground" type="StaticBody" parent="Terrain" index="0"]
+[node name="Ground" type="StaticBody3D" parent="Terrain" index="0"]
-[node name="MeshInstance" type="MeshInstance" parent="Terrain/Ground" index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 10 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="Terrain/Ground" index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("10")
-[node name="CollisionShape" type="CollisionShape" parent="Terrain/Ground" index="1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
-shape = SubResource( 2 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="Terrain/Ground" index="1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
+shape = SubResource("2")
-[node name="Hills" type="Spatial" parent="Terrain" index="1"]
+[node name="Hills" type="Node3D" parent="Terrain" index="1"]
-[node name="Hill1" parent="Terrain/Hills" index="0" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -158, 0, -45 )
+[node name="Hill1" parent="Terrain/Hills" index="0" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -158, 0, -45)
-[node name="Hill2" parent="Terrain/Hills" index="1" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 )
+[node name="Hill2" parent="Terrain/Hills" index="1" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142)
-[node name="Hill3" parent="Terrain/Hills" index="2" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, -142 )
+[node name="Hill3" parent="Terrain/Hills" index="2" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 0, -142)
-[node name="Hill4" parent="Terrain/Hills" index="3" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -76 )
+[node name="Hill4" parent="Terrain/Hills" index="3" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -76)
-[node name="Hill5" parent="Terrain/Hills" index="4" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 165, 0, -8 )
+[node name="Hill5" parent="Terrain/Hills" index="4" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 165, 0, -8)
-[node name="Hill6" parent="Terrain/Hills" index="5" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 176, 0, 84 )
+[node name="Hill6" parent="Terrain/Hills" index="5" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 176, 0, 84)
-[node name="Hill7" parent="Terrain/Hills" index="6" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0, 163 )
+[node name="Hill7" parent="Terrain/Hills" index="6" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 120, 0, 163)
-[node name="Hill8" parent="Terrain/Hills" index="7" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 164 )
+[node name="Hill8" parent="Terrain/Hills" index="7" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 164)
-[node name="Hill9" parent="Terrain/Hills" index="8" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -55, 0, 90 )
+[node name="Hill9" parent="Terrain/Hills" index="8" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -55, 0, 90)
-[node name="Hill10" parent="Terrain/Hills" index="9" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -113, 0, 45 )
+[node name="Hill10" parent="Terrain/Hills" index="9" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -113, 0, 45)
-[node name="Hill11" parent="Terrain/Hills" index="10" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -54, -37, 46 )
+[node name="Hill11" parent="Terrain/Hills" index="10" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54, -37, 46)
-[node name="Hill12" parent="Terrain/Hills" index="11" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -44, 87 )
+[node name="Hill12" parent="Terrain/Hills" index="11" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -44, 87)
-[node name="Hill13" parent="Terrain/Hills" index="12" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 43, -37, -86 )
+[node name="Hill13" parent="Terrain/Hills" index="12" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 43, -37, -86)
-[node name="Hill14" parent="Terrain/Hills" index="13" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 96, -45, -18 )
+[node name="Hill14" parent="Terrain/Hills" index="13" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 96, -45, -18)
-[node name="Cliffs" type="Spatial" parent="Terrain" index="2"]
+[node name="Cliffs" type="Node3D" parent="Terrain" index="2"]
-[node name="Cliff1" parent="Terrain/Cliffs" index="0" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -77, -14, -63 )
+[node name="Cliff1" parent="Terrain/Cliffs" index="0" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -77, -14, -63)
-[node name="Cliff2" parent="Terrain/Cliffs" index="1" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -79, -8, -63 )
+[node name="Cliff2" parent="Terrain/Cliffs" index="1" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -79, -8, -63)
-[node name="Cliff3" parent="Terrain/Cliffs" index="2" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -82, -2, -62 )
+[node name="Cliff3" parent="Terrain/Cliffs" index="2" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -82, -2, -62)
-[node name="Cliff4" parent="Terrain/Cliffs" index="3" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 4, -64 )
+[node name="Cliff4" parent="Terrain/Cliffs" index="3" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 4, -64)
-[node name="Cliff5" parent="Terrain/Cliffs" index="4" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -81, 10, -70 )
+[node name="Cliff5" parent="Terrain/Cliffs" index="4" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -81, 10, -70)
-[node name="Cliff6" parent="Terrain/Cliffs" index="5" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -87, 16, -65 )
+[node name="Cliff6" parent="Terrain/Cliffs" index="5" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -87, 16, -65)
-[node name="Cliff7" parent="Terrain/Cliffs" index="6" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 93, -14, 82 )
+[node name="Cliff7" parent="Terrain/Cliffs" index="6" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 93, -14, 82)
-[node name="Cliff8" parent="Terrain/Cliffs" index="7" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -18, -1, -66 )
+[node name="Cliff8" parent="Terrain/Cliffs" index="7" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, -1, -66)
-[node name="Cliff9" parent="Terrain/Cliffs" index="8" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -63, -2, -18 )
+[node name="Cliff9" parent="Terrain/Cliffs" index="8" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -63, -2, -18)
-[node name="Cliff10" parent="Terrain/Cliffs" index="9" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -62, -8, -20 )
+[node name="Cliff10" parent="Terrain/Cliffs" index="9" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -62, -8, -20)
-[node name="Cliff11" parent="Terrain/Cliffs" index="10" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9, -5, 22 )
+[node name="Cliff11" parent="Terrain/Cliffs" index="10" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, -5, 22)
-[node name="Cliff12" parent="Terrain/Cliffs" index="11" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -3, 30 )
+[node name="Cliff12" parent="Terrain/Cliffs" index="11" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, -3, 30)
-[node name="Cliff13" parent="Terrain/Cliffs" index="12" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 59, -3, -26 )
+[node name="Cliff13" parent="Terrain/Cliffs" index="12" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 59, -3, -26)
-[node name="Cliff14" parent="Terrain/Cliffs" index="13" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 94, -8, 48 )
+[node name="Cliff14" parent="Terrain/Cliffs" index="13" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 94, -8, 48)
-[node name="Winds" type="Spatial" parent="Terrain" index="3"]
+[node name="Winds" type="Node3D" parent="Terrain" index="3"]
-[node name="WindArea" parent="Terrain/Winds" index="0" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 5, -70 )
+[node name="WindArea" parent="Terrain/Winds" index="0" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 5, -70)
-[node name="WindArea2" parent="Terrain/Winds" index="1" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 15, -70 )
+[node name="WindArea2" parent="Terrain/Winds" index="1" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 15, -70)
-[node name="WindArea3" parent="Terrain/Winds" index="2" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 25, -70 )
+[node name="WindArea3" parent="Terrain/Winds" index="2" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 25, -70)
-[node name="WindArea4" parent="Terrain/Winds" index="3" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 35, -70 )
+[node name="WindArea4" parent="Terrain/Winds" index="3" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 35, -70)
-[node name="WindArea5" parent="Terrain/Winds" index="4" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 5, -10 )
+[node name="WindArea5" parent="Terrain/Winds" index="4" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 5, -10)
-[node name="WindArea6" parent="Terrain/Winds" index="5" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 15, -10 )
+[node name="WindArea6" parent="Terrain/Winds" index="5" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 15, -10)
-[node name="WindArea7" parent="Terrain/Winds" index="6" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 25, -10 )
+[node name="WindArea7" parent="Terrain/Winds" index="6" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 25, -10)
-[node name="WindArea8" parent="Terrain/Winds" index="7" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 35, -10 )
+[node name="WindArea8" parent="Terrain/Winds" index="7" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 35, -10)
-[node name="Rings" type="Spatial" parent="Terrain" index="4"]
-transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6.839, 49.8018, 12.5189 )
+[node name="Rings" type="Node3D" parent="Terrain" index="4"]
+transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -6.839, 49.802, 12.519)
-[node name="ring1" parent="Terrain/Rings" index="0" instance=ExtResource( 19 )]
-transform = Transform( 0.92394, -1.61434e-08, -0.382538, 1.28187e-08, 1, -1.12399e-08, 0.382538, 5.48136e-09, 0.92394, -51.9777, 0, -5.49984 )
+[node name="ring1" parent="Terrain/Rings" index="0" instance=ExtResource("18_gu236")]
+transform = Transform3D(0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, -51.978, 0, -5.5)
-[node name="ring2" parent="Terrain/Rings" index="1" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.14596, 3.37725, 2.24743 )
+[node name="ring2" parent="Terrain/Rings" index="1" instance=ExtResource("18_gu236")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.146, 3.377, 2.247)
-[node name="ring3" parent="Terrain/Rings" index="2" instance=ExtResource( 19 )]
-transform = Transform( 0.963626, -1.0912e-08, -0.267255, 9.32201e-09, 1, -7.218e-09, 0.267255, 4.4641e-09, 0.963626, 72.52, 12.0066, 15.9844 )
+[node name="ring3" parent="Terrain/Rings" index="2" instance=ExtResource("18_gu236")]
+transform = Transform3D(0.96363, 0, -0.267238, 0, 1, 0, 0.267238, 0, 0.96363, 72.52, 12.007, 15.984)
-[node name="ring4" parent="Terrain/Rings" index="3" instance=ExtResource( 19 )]
-transform = Transform( -0.910597, -2.61121e-08, 0.413295, -5.74028e-08, 1, -6.32931e-08, -0.413295, -8.13588e-08, -0.910597, 69.9441, 26.6401, -48.2277 )
+[node name="ring4" parent="Terrain/Rings" index="3" instance=ExtResource("18_gu236")]
+transform = Transform3D(0.96363, 0, -0.267238, 0, 1, 0, 0.267238, 0, 0.96363, 69.944, 26.64, -48.228)
-[node name="ring5" parent="Terrain/Rings" index="4" instance=ExtResource( 19 )]
-transform = Transform( -0.999975, -4.34426e-08, 0.00708592, -4.39791e-08, 1, -7.55545e-08, -0.00708592, -7.58643e-08, -0.999975, 6.63248, 23.3205, -63.4222 )
+[node name="ring5" parent="Terrain/Rings" index="4" instance=ExtResource("18_gu236")]
+transform = Transform3D(-0.999976, 0, 0.00698123, 0, 1, 0, -0.00698123, 0, -0.999976, 6.632, 23.32, -63.422)
-[node name="ring6" parent="Terrain/Rings" index="5" instance=ExtResource( 19 )]
-transform = Transform( -0.880287, -5.90551e-08, -0.474442, -2.31349e-08, 1, -8.15478e-08, 0.474442, -6.08093e-08, -0.880287, -47.6503, 14.5468, -50.2337 )
+[node name="ring6" parent="Terrain/Rings" index="5" instance=ExtResource("18_gu236")]
+transform = Transform3D(-0.880477, 0, -0.474088, 0, 1, 0, 0.474088, 0, -0.880477, -47.65, 14.547, -50.234)
-[node name="MainMenuTeleport1" parent="." index="3" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 36, -68 )
+[node name="MainMenuTeleport1" parent="." index="3" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -83, 36, -68)
scene_base = NodePath("..")
-title = ExtResource( 13 )
+title = ExtResource("13")
-[node name="MainMenuTeleport2" parent="." index="4" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 91, 6, 81 )
+[node name="MainMenuTeleport2" parent="." index="4" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 91, 6, 81)
scene_base = NodePath("..")
-title = ExtResource( 13 )
+title = ExtResource("13")
-[node name="Instructions" parent="." index="5" instance=ExtResource( 18 )]
-transform = Transform( -0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -80, 40.164, -60 )
+[node name="Instructions" parent="." index="5" instance=ExtResource("19_3dxda")]
+transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -80, 40, -60)
diff --git a/scenes/climbing_gliding_demo/materials/ghost_hand.tres b/scenes/climbing_gliding_demo/materials/ghost_hand.tres
new file mode 100644
index 00000000..f3aeb5fb
--- /dev/null
+++ b/scenes/climbing_gliding_demo/materials/ghost_hand.tres
@@ -0,0 +1,11 @@
+[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://cf6y1af3ouutt"]
+
+[ext_resource type="Material" path="res://addons/godot-xr-tools/hands/materials/glove_caucasian_green_camo.material" id="1_3o4sh"]
+
+[resource]
+render_priority = -1
+next_pass = ExtResource("1_3o4sh")
+transparency = 1
+no_depth_test = true
+shading_mode = 0
+albedo_color = Color(0, 1, 1, 0.25098)
diff --git a/scenes/climbing_gliding_demo/objects/cliff.tscn b/scenes/climbing_gliding_demo/objects/cliff.tscn
index 647310b5..faaed723 100644
--- a/scenes/climbing_gliding_demo/objects/cliff.tscn
+++ b/scenes/climbing_gliding_demo/objects/cliff.tscn
@@ -1,25 +1,25 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://bt8kw5a34upwm"]
-[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
-[sub_resource type="ConvexPolygonShape" id=2]
-points = PoolVector3Array( 0, -10, 10, -8.66025, -10, 4.99804, 8.66025, -10, 5, 0, 10, 7.99922, -6.92922, 10, 3.99961, -8.66025, -10, -5, 8.65856, -10, -5.00196, 6.92753, 10, -4.00157, 6.92753, 10, 3.99961, -6.92922, 10, -4.00157, 0, -10, -10, 0, 10, -8.00117 )
+[sub_resource type="ConvexPolygonShape3D" id="2"]
+points = PackedVector3Array(0, -10, 10, -8.66025, -10, 4.99804, 8.66025, -10, 5, 0, 10, 7.99922, -6.92922, 10, 3.99961, -8.66025, -10, -5, 8.65856, -10, -5.00196, 6.92753, 10, -4.00157, 6.92753, 10, 3.99961, -6.92922, 10, -4.00157, 0, -10, -10, 0, 10, -8.00117)
-[sub_resource type="CylinderMesh" id=1]
+[sub_resource type="CylinderMesh" id="1"]
top_radius = 8.0
bottom_radius = 10.0
height = 20.0
radial_segments = 6
rings = 0
-[node name="Cliff" instance=ExtResource( 1 )]
+[node name="Cliff" instance=ExtResource("1")]
-[node name="CollisionShape" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 )
-shape = SubResource( 2 )
+[node name="CollisionShape3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0)
+shape = SubResource("2")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 )
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2")
diff --git a/scenes/climbing_gliding_demo/objects/hill.tscn b/scenes/climbing_gliding_demo/objects/hill.tscn
index beb62d3f..0357655d 100644
--- a/scenes/climbing_gliding_demo/objects/hill.tscn
+++ b/scenes/climbing_gliding_demo/objects/hill.tscn
@@ -1,24 +1,24 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://cm0cpldqa6j4d"]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"]
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
top_radius = 70.0
bottom_radius = 100.0
height = 50.0
radial_segments = 6
rings = 0
-[sub_resource type="ConvexPolygonShape" id=3]
-points = PoolVector3Array( 86.6025, -25, 49.9804, 60.6116, 25, 34.9843, 0, -25, 100, 86.5856, -25, -50.0196, 60.6116, 25, -35.0039, 0, 25, 69.9883, -60.6286, 25, 34.9843, -86.6025, -25, 49.9804, 0, -25, -100, 0, 25, -70.0078, -60.6286, 25, -35.0039, -86.6025, -25, -50 )
+[sub_resource type="ConvexPolygonShape3D" id="3"]
+points = PackedVector3Array(86.6025, -25, 49.9804, 60.6116, 25, 34.9843, 0, -25, 100, 86.5856, -25, -50.0196, 60.6116, 25, -35.0039, 0, 25, 69.9883, -60.6286, 25, 34.9843, -86.6025, -25, 49.9804, 0, -25, -100, 0, 25, -70.0078, -60.6286, 25, -35.0039, -86.6025, -25, -50)
-[node name="Hill" type="StaticBody"]
+[node name="Hill" type="StaticBody3D"]
-[node name="MeshInstance" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0 )
-shape = SubResource( 3 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 25, 0)
+shape = SubResource("3")
diff --git a/scenes/climbing_gliding_demo/objects/instructions.tscn b/scenes/climbing_gliding_demo/objects/instructions.tscn
index daac43ca..f77ea95f 100644
--- a/scenes/climbing_gliding_demo/objects/instructions.tscn
+++ b/scenes/climbing_gliding_demo/objects/instructions.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://b634pnt2nrn77"]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/instructions_2d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
+[ext_resource type="PackedScene" uid="uid://6of4yjha4f0t" path="res://scenes/climbing_gliding_demo/objects/instructions_2d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
-[sub_resource type="CubeMesh" id=1]
-material = ExtResource( 3 )
-size = Vector3( 4.2, 3, 0.1 )
+[sub_resource type="BoxMesh" id="1"]
+material = ExtResource("3")
+size = Vector3(4.2, 3, 0.1)
-[node name="Instructions" type="Spatial"]
+[node name="Instructions" type="Node3D"]
-[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )]
-screen_size = Vector2( 4, 2.8 )
-viewport_size = Vector2( 400, 280 )
+[node name="Viewport2Din3D" parent="." instance=ExtResource("2")]
+screen_size = Vector2(4, 2.8)
+viewport_size = Vector2(400, 280)
unshaded = true
-scene = ExtResource( 1 )
+scene = ExtResource("1")
update_mode = 0
collision_layer = 0
-[node name="MeshInstance" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 )
-mesh = SubResource( 1 )
+[node name="MeshInstance" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1)
+mesh = SubResource("1")
diff --git a/scenes/climbing_gliding_demo/objects/instructions_2d.tscn b/scenes/climbing_gliding_demo/objects/instructions_2d.tscn
index 6c68816b..486475a5 100644
--- a/scenes/climbing_gliding_demo/objects/instructions_2d.tscn
+++ b/scenes/climbing_gliding_demo/objects/instructions_2d.tscn
@@ -1,22 +1,27 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://6of4yjha4f0t"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -320.0
-rect_pivot_offset = Vector2( -421, -85 )
+grow_horizontal = 2
+grow_vertical = 2
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 280.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 280.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 271.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 270.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Climbing & Gliding Demo
This scene demonstrates climbing, gliding, and wind using the following controls:
diff --git a/scenes/climbing_gliding_demo/objects/wind_area.tscn b/scenes/climbing_gliding_demo/objects/wind_area.tscn
index a1981d1e..54b15ba1 100644
--- a/scenes/climbing_gliding_demo/objects/wind_area.tscn
+++ b/scenes/climbing_gliding_demo/objects/wind_area.tscn
@@ -1,35 +1,54 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://bt2i205mlq1q0"]
-[ext_resource path="res://addons/godot-xr-tools/objects/wind_area.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scenes/climbing_gliding_demo/objects/wind_area_shader.tres" type="Material" id=2]
+[ext_resource type="PackedScene" uid="uid://nack1qite6lx" path="res://addons/godot-xr-tools/objects/wind_area.tscn" id="1"]
+[ext_resource type="Material" uid="uid://b5c8o7a55fyx5" path="res://scenes/climbing_gliding_demo/objects/wind_area_shader.tres" id="2"]
-[sub_resource type="CylinderShape" id=2]
-radius = 5.0
+[sub_resource type="CylinderShape3D" id="2"]
height = 10.0
+radius = 5.0
+
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_63gm4"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_hgony"]
+_surfaces = [{
+"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1),
+"format": 4097,
+"index_count": 96,
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 17, 0, 15, 0, 14, 0, 16, 0, 17, 0, 16, 0, 19, 0, 17, 0, 16, 0, 18, 0, 19, 0, 18, 0, 21, 0, 19, 0, 18, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 1, 0, 31, 0, 30, 0, 0, 0, 1, 0),
+"lods": [0.0672776, PackedByteArray(2, 0, 9, 0, 5, 0, 2, 0, 10, 0, 9, 0, 30, 0, 2, 0, 5, 0, 10, 0, 13, 0, 9, 0, 30, 0, 5, 0, 31, 0, 10, 0, 14, 0, 13, 0, 14, 0, 17, 0, 13, 0, 14, 0, 16, 0, 17, 0, 28, 0, 30, 0, 31, 0, 28, 0, 31, 0, 27, 0, 24, 0, 28, 0, 27, 0, 24, 0, 27, 0, 23, 0, 20, 0, 24, 0, 23, 0, 20, 0, 23, 0, 19, 0, 16, 0, 20, 0, 19, 0, 16, 0, 19, 0, 17, 0), 0.164049, PackedByteArray(2, 0, 13, 0, 5, 0, 2, 0, 10, 0, 13, 0, 10, 0, 17, 0, 13, 0, 10, 0, 16, 0, 17, 0, 16, 0, 23, 0, 17, 0, 16, 0, 20, 0, 23, 0, 20, 0, 2, 0, 23, 0, 2, 0, 5, 0, 23, 0), 0.399072, PackedByteArray(20, 0, 17, 0, 5, 0, 20, 0, 16, 0, 17, 0, 16, 0, 5, 0, 17, 0, 16, 0, 20, 0, 5, 0)],
+"primitive": 3,
+"vertex_count": 32,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190)
+}]
+blend_shape_mode = 0
-[sub_resource type="ArrayMesh" id=1]
+[sub_resource type="ArrayMesh" id="ArrayMesh_6nlh0"]
resource_name = "tube_Cylinder"
-surfaces/0 = {
-"aabb": AABB( -0.5, -0.5, -0.5, 1, 1, 1 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 60, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 127, 126, 129, 63, 0, 56, 0, 0, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 60, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 127, 89, 129, 82, 0, 55, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 127, 63, 129, 95, 0, 54, 0, 0, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 60, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 127, 37, 129, 108, 0, 53, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 60, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 127, 0, 129, 127, 0, 52, 0, 0, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 60, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 89, 0, 127, 108, 0, 50, 0, 0, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 60, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 63, 0, 127, 95, 0, 48, 0, 0, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 60, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 37, 0, 127, 82, 0, 44, 0, 0, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 60, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 60, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 0, 0, 0, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 126, 63, 0, 60, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 219, 0, 89, 63, 128, 59, 0, 0, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 60, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 193, 0, 63, 63, 0, 59, 0, 0, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 60, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 167, 0, 37, 63, 128, 58, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 60, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 129, 0, 0, 63, 0, 58, 0, 0, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 60, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 129, 37, 219, 63, 127, 57, 0, 0, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 60, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 129, 63, 193, 63, 0, 57, 0, 0, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 60, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 129, 89, 167, 63, 128, 56, 0, 0 ),
-"array_index_data": PoolByteArray( 0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.5, -0.5, -0.5, 1, 1, 1),
+"attribute_data": PackedByteArray(0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 160, 62, 0, 0, 128, 63, 0, 0, 160, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 128, 63, 0, 0, 128, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 4, 0, 128, 61, 0, 0, 128, 63, 4, 0, 128, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 112, 63, 0, 0, 128, 63, 0, 0, 112, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 128, 63, 0, 0, 64, 63, 0, 0, 0, 0, 255, 255, 47, 63, 0, 0, 128, 63, 255, 255, 47, 63, 0, 0, 0, 0, 0, 0, 32, 63, 0, 0, 128, 63, 0, 0, 32, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 128, 63, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 64, 62, 0, 0, 128, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 63, 0, 0, 128, 63, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 80, 63, 0, 0, 0, 0, 0, 0, 224, 62, 0, 0, 128, 63, 0, 0, 192, 62, 0, 0, 0, 0, 0, 0, 128, 62, 0, 0, 0, 0),
+"format": 4119,
"index_count": 96,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 34
-}
+"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 5, 0, 3, 0, 2, 0, 4, 0, 5, 0, 4, 0, 7, 0, 5, 0, 4, 0, 6, 0, 7, 0, 6, 0, 9, 0, 7, 0, 6, 0, 8, 0, 9, 0, 8, 0, 11, 0, 9, 0, 8, 0, 10, 0, 11, 0, 10, 0, 13, 0, 11, 0, 10, 0, 12, 0, 13, 0, 12, 0, 15, 0, 13, 0, 12, 0, 14, 0, 15, 0, 14, 0, 18, 0, 15, 0, 14, 0, 16, 0, 18, 0, 17, 0, 21, 0, 19, 0, 17, 0, 20, 0, 21, 0, 20, 0, 23, 0, 21, 0, 20, 0, 22, 0, 23, 0, 22, 0, 25, 0, 23, 0, 22, 0, 24, 0, 25, 0, 24, 0, 27, 0, 25, 0, 24, 0, 26, 0, 27, 0, 26, 0, 29, 0, 27, 0, 26, 0, 28, 0, 29, 0, 28, 0, 31, 0, 29, 0, 28, 0, 30, 0, 31, 0, 30, 0, 33, 0, 31, 0, 30, 0, 32, 0, 33, 0, 32, 0, 1, 0, 33, 0, 32, 0, 0, 0, 1, 0),
+"lods": [0.0672776, PackedByteArray(57, 0, 59, 0, 58, 0, 57, 0, 10, 0, 59, 0, 32, 0, 57, 0, 58, 0, 10, 0, 13, 0, 59, 0, 32, 0, 58, 0, 33, 0, 10, 0, 14, 0, 13, 0, 14, 0, 18, 0, 13, 0, 14, 0, 16, 0, 18, 0, 30, 0, 32, 0, 33, 0, 30, 0, 33, 0, 29, 0, 26, 0, 30, 0, 29, 0, 26, 0, 29, 0, 25, 0, 22, 0, 26, 0, 25, 0, 22, 0, 25, 0, 21, 0, 17, 0, 22, 0, 21, 0, 17, 0, 21, 0, 19, 0), 0.164049, PackedByteArray(42, 0, 49, 0, 45, 0, 42, 0, 47, 0, 49, 0, 48, 0, 52, 0, 13, 0, 48, 0, 50, 0, 52, 0, 51, 0, 54, 0, 19, 0, 51, 0, 22, 0, 54, 0, 53, 0, 43, 0, 55, 0, 44, 0, 46, 0, 56, 0), 0.399072, PackedByteArray(40, 0, 38, 0, 34, 0, 22, 0, 16, 0, 18, 0, 37, 0, 35, 0, 39, 0, 17, 0, 41, 0, 36, 0)],
+"material": SubResource("StandardMaterial3D_63gm4"),
+"primitive": 3,
+"vertex_count": 60,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 191, 255, 255, 255, 255, 0, 0, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 190, 255, 255, 129, 218, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 255, 191, 0, 0, 255, 223, 94, 131, 236, 62, 0, 0, 0, 191, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 94, 131, 236, 62, 0, 0, 0, 63, 21, 239, 67, 190, 255, 255, 124, 165, 0, 0, 64, 237, 0, 0, 0, 63, 0, 0, 0, 191, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 255, 127, 0, 0, 255, 255, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 63, 20, 239, 67, 62, 129, 218, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 191, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 191, 255, 127, 255, 255, 255, 223, 23, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 23, 239, 67, 62, 0, 0, 0, 63, 94, 131, 236, 62, 124, 165, 255, 127, 255, 255, 189, 210, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 255, 127, 255, 127, 254, 255, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 94, 131, 236, 62, 130, 90, 255, 127, 129, 218, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 63, 244, 4, 181, 62, 255, 63, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 191, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 125, 37, 255, 127, 124, 165, 255, 191, 0, 0, 0, 191, 0, 0, 0, 191, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 0, 0, 0, 191, 0, 0, 0, 63, 46, 222, 204, 177, 0, 0, 255, 127, 255, 127, 255, 191, 93, 131, 236, 190, 0, 0, 0, 191, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 93, 131, 236, 190, 0, 0, 0, 63, 27, 239, 67, 190, 0, 0, 124, 165, 130, 90, 255, 191, 245, 4, 181, 190, 0, 0, 0, 191, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 245, 4, 181, 190, 0, 0, 0, 63, 242, 4, 181, 190, 0, 0, 255, 191, 255, 63, 255, 191, 21, 239, 67, 190, 0, 0, 0, 191, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 21, 239, 67, 190, 0, 0, 0, 63, 95, 131, 236, 190, 0, 0, 129, 218, 125, 37, 255, 191, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 173, 197, 255, 127, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 15, 173, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 79, 101, 255, 127, 0, 0, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 166, 12, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 84, 173, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 116, 29, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 250, 172, 255, 127, 255, 191, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 40, 95, 255, 127, 255, 191, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 126, 167, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 71, 174, 0, 0, 189, 210, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 0, 0, 74, 239, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 202, 156, 0, 0, 255, 223, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 0, 0, 163, 241, 0, 0, 255, 223, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 255, 255, 114, 131, 255, 255, 64, 237, 95, 131, 236, 62, 0, 0, 0, 191, 20, 239, 67, 62, 0, 186, 255, 127, 255, 255, 64, 237, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 62, 255, 255, 235, 135, 255, 255, 255, 223, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 52, 163, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 191, 0, 0, 0, 63, 172, 91, 255, 127, 254, 255, 255, 191, 46, 189, 59, 179, 0, 0, 0, 63, 0, 0, 0, 63, 144, 170, 255, 127, 254, 255, 255, 191, 242, 4, 181, 190, 0, 0, 0, 191, 244, 4, 181, 62, 117, 3, 255, 127, 255, 191, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 180, 71, 255, 127, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 123, 133, 124, 165, 255, 191, 94, 131, 236, 190, 0, 0, 0, 63, 26, 239, 67, 62, 0, 0, 130, 215, 124, 165, 255, 191, 22, 239, 67, 62, 0, 0, 0, 191, 94, 131, 236, 190, 255, 255, 47, 195, 0, 0, 189, 210, 243, 4, 181, 62, 0, 0, 0, 63, 243, 4, 181, 190, 255, 255, 25, 214, 0, 0, 255, 223, 0, 0, 0, 63, 0, 0, 0, 63, 46, 189, 187, 50, 255, 255, 117, 147, 0, 0, 255, 255)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_hgony")
-[node name="WindArea" instance=ExtResource( 1 )]
+[node name="WindArea" instance=ExtResource("1")]
collision_layer = 524288
-wind_vector = Vector3( 0, 20, 0 )
+wind_vector = Vector3(0, 20, 0)
-[node name="CollisionShape" parent="." index="0"]
-shape = SubResource( 2 )
+[node name="CollisionShape3D" parent="." index="0"]
+shape = SubResource("2")
-[node name="Cylinder" type="MeshInstance" parent="." index="1"]
-transform = Transform( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
-mesh = SubResource( 1 )
+[node name="Cylinder" type="MeshInstance3D" parent="." index="1"]
+transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
+gi_mode = 0
+mesh = SubResource("ArrayMesh_6nlh0")
skeleton = NodePath("")
-material/0 = ExtResource( 2 )
+surface_material_override/0 = ExtResource("2")
diff --git a/scenes/climbing_gliding_demo/objects/wind_area_shader.tres b/scenes/climbing_gliding_demo/objects/wind_area_shader.tres
index c13c541c..0554ba14 100644
--- a/scenes/climbing_gliding_demo/objects/wind_area_shader.tres
+++ b/scenes/climbing_gliding_demo/objects/wind_area_shader.tres
@@ -1,146 +1,152 @@
-[gd_resource type="ShaderMaterial" load_steps=14 format=2]
+[gd_resource type="ShaderMaterial" load_steps=14 format=3 uid="uid://b5c8o7a55fyx5"]
-[sub_resource type="VisualShaderNodeScalarFunc" id=8]
+[sub_resource type="VisualShaderNodeFloatFunc" id="VisualShaderNodeFloatFunc_4vp4h"]
output_port_for_preview = 0
function = 17
-[sub_resource type="VisualShaderNodeColorConstant" id=13]
-constant = Color( 0.169944, 0.249712, 0.97294, 1 )
+[sub_resource type="VisualShaderNodeColorConstant" id="VisualShaderNodeColorConstant_vbeir"]
+constant = Color(0.169944, 0.249712, 0.97294, 1)
-[sub_resource type="VisualShaderNodeInput" id=14]
+[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_24u0o"]
input_name = "time"
-[sub_resource type="VisualShaderNodeScalarOp" id=19]
-default_input_values = [ 0, 0.0, 1, 0.8 ]
+[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_e0v0j"]
+default_input_values = [0, 0.0, 1, 0.8]
operator = 2
-[sub_resource type="VisualShaderNodeVectorOp" id=23]
-default_input_values = [ 0, Vector3( 0, 0, 0 ), 1, Vector3( 0, 3, 0 ) ]
+[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_uwwfc"]
+default_input_values = [0, Vector2(0, 0), 1, Vector2(1, 0)]
+op_type = 0
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=24]
+[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_n3gh3"]
-[sub_resource type="VisualShaderNodeVectorOp" id=25]
+[sub_resource type="VisualShaderNodeVectorOp" id="VisualShaderNodeVectorOp_yqpiy"]
operator = 2
-[sub_resource type="VisualShaderNodeScalarOp" id=30]
+[sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_ludc6"]
output_port_for_preview = 0
-operator = 7
-
-[sub_resource type="VisualShaderNodeScalarOp" id=31]
-default_input_values = [ 0, 0.0, 1, 0.8 ]
-operator = 2
+default_input_values = [0, 0.4, 1, 0.5, 2, 0.0]
-[sub_resource type="VisualShaderNodeInput" id=21]
+[sub_resource type="VisualShaderNodeSmoothStep" id="VisualShaderNodeSmoothStep_hpd7b"]
output_port_for_preview = 0
-input_name = "uv"
+default_input_values = [0, 1.0, 1, 0.4, 2, 0.0]
-[sub_resource type="VisualShaderNodeScalarSmoothStep" id=32]
+[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_sxb5j"]
output_port_for_preview = 0
-default_input_values = [ 0, 0.4, 1, 0.5, 2, 0.0 ]
+operator = 7
+
+[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_3jcqr"]
+default_input_values = [0, 0.0, 1, 0.8]
+operator = 2
-[sub_resource type="VisualShaderNodeScalarSmoothStep" id=33]
+[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_mno13"]
output_port_for_preview = 0
-default_input_values = [ 0, 1.0, 1, 0.4, 2, 0.0 ]
+expanded_output_ports = [0]
+input_name = "uv"
-[sub_resource type="VisualShader" id=22]
+[sub_resource type="VisualShader" id="VisualShader_buj8i"]
code = "shader_type spatial;
-render_mode blend_add, cull_disabled, specular_schlick_ggx, async_visible, unshaded;
-
+render_mode blend_add, cull_disabled, unshaded;
-void vertex() {
-// Output:0
-
-}
void fragment() {
-// Color:19
- vec3 n_out19p0 = vec3(0.169944, 0.249712, 0.972940);
- float n_out19p1 = 1.000000;
+// ColorConstant:19
+ vec4 n_out19p0 = vec4(0.169944, 0.249712, 0.972940, 1.000000);
+
// Input:2
float n_out2p0 = TIME;
-// ScalarOp:25
+
+// FloatOp:25
float n_in25p1 = 0.80000;
float n_out25p0 = n_out2p0 * n_in25p1;
+
// Input:5
- vec3 n_out5p0 = vec3(UV, 0.0);
+ vec2 n_out5p0 = UV;
+ float n_out5p2 = n_out5p0.g;
+
// VectorOp:26
- vec3 n_in26p1 = vec3(0.00000, 3.00000, 0.00000);
- vec3 n_out26p0 = n_out5p0 * n_in26p1;
+ vec2 n_in26p1 = vec2(1.00000, 0.00000);
+ vec2 n_out26p0 = vec2(n_out5p2) * n_in26p1;
+
+
+// FloatOp:27
+ float n_out27p0 = n_out25p0 + n_out26p0.x;
-// ScalarOp:27
- float n_out27p0 = n_out25p0 + dot(n_out26p0, vec3(0.333333, 0.333333, 0.333333));
-// ScalarFunc:12
+// FloatFunc:12
float n_out12p0 = fract(n_out27p0);
-// ScalarSmoothStep:50
- float n_in50p0 = 0.40000;
- float n_in50p1 = 0.50000;
- float n_out50p0 = smoothstep(n_in50p0, n_in50p1, n_out12p0);
-// ScalarSmoothStep:51
- float n_in51p0 = 1.00000;
- float n_in51p1 = 0.40000;
- float n_out51p0 = smoothstep(n_in51p0, n_in51p1, n_out12p0);
+// SmoothStep:46
+ float n_in46p0 = 0.40000;
+ float n_in46p1 = 0.50000;
+ float n_out46p0 = smoothstep(n_in46p0, n_in46p1, n_out12p0);
+
+
+// SmoothStep:47
+ float n_in47p0 = 1.00000;
+ float n_in47p1 = 0.40000;
+ float n_out47p0 = smoothstep(n_in47p0, n_in47p1, n_out12p0);
+
-// ScalarOp:48
- float n_out48p0 = min(n_out50p0, n_out51p0);
+// FloatOp:48
+ float n_out48p0 = min(n_out46p0, n_out47p0);
-// ScalarOp:49
+
+// FloatOp:49
float n_in49p1 = 0.80000;
float n_out49p0 = n_out48p0 * n_in49p1;
+
// VectorOp:40
- vec3 n_out40p0 = n_out19p0 * vec3(n_out49p0);
+ vec3 n_out40p0 = vec3(n_out19p0.xyz) * vec3(n_out49p0);
+
// Output:0
ALBEDO = n_out40p0;
ALPHA = n_out49p0;
-}
-
-void light() {
-// Output:0
}
"
-graph_offset = Vector2( 775.702, -184.338 )
+graph_offset = Vector2(-435.649, -116.438)
modes/blend = 1
modes/cull = 2
flags/unshaded = true
-nodes/fragment/0/position = Vector2( 1820, 0 )
-nodes/fragment/2/node = SubResource( 14 )
-nodes/fragment/2/position = Vector2( -294, 63 )
-nodes/fragment/5/node = SubResource( 21 )
-nodes/fragment/5/position = Vector2( -294, 231 )
-nodes/fragment/12/node = SubResource( 8 )
-nodes/fragment/12/position = Vector2( 360, 120 )
-nodes/fragment/19/node = SubResource( 13 )
-nodes/fragment/19/position = Vector2( 1365, -84 )
-nodes/fragment/25/node = SubResource( 19 )
-nodes/fragment/25/position = Vector2( -84, 42 )
-nodes/fragment/26/node = SubResource( 23 )
-nodes/fragment/26/position = Vector2( -84, 210 )
-nodes/fragment/27/node = SubResource( 24 )
-nodes/fragment/27/position = Vector2( 126, 105 )
-nodes/fragment/40/node = SubResource( 25 )
-nodes/fragment/40/position = Vector2( 1617, -84 )
-nodes/fragment/48/node = SubResource( 30 )
-nodes/fragment/48/position = Vector2( 1000, 40 )
-nodes/fragment/49/node = SubResource( 31 )
-nodes/fragment/49/position = Vector2( 1302, 84 )
-nodes/fragment/50/node = SubResource( 32 )
-nodes/fragment/50/position = Vector2( 640, -40 )
-nodes/fragment/51/node = SubResource( 33 )
-nodes/fragment/51/position = Vector2( 640, 200 )
-nodes/fragment/connections = PoolIntArray( 2, 0, 25, 0, 5, 0, 26, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 12, 0, 50, 2, 12, 0, 51, 2, 50, 0, 48, 0, 51, 0, 48, 1 )
+nodes/fragment/0/position = Vector2(1820, 0)
+nodes/fragment/2/node = SubResource("VisualShaderNodeInput_24u0o")
+nodes/fragment/2/position = Vector2(-480, 60)
+nodes/fragment/5/node = SubResource("VisualShaderNodeInput_mno13")
+nodes/fragment/5/position = Vector2(-500, 240)
+nodes/fragment/12/node = SubResource("VisualShaderNodeFloatFunc_4vp4h")
+nodes/fragment/12/position = Vector2(380, 140)
+nodes/fragment/19/node = SubResource("VisualShaderNodeColorConstant_vbeir")
+nodes/fragment/19/position = Vector2(1365, -84)
+nodes/fragment/25/node = SubResource("VisualShaderNodeFloatOp_e0v0j")
+nodes/fragment/25/position = Vector2(-84, 42)
+nodes/fragment/26/node = SubResource("VisualShaderNodeVectorOp_uwwfc")
+nodes/fragment/26/position = Vector2(-84, 210)
+nodes/fragment/27/node = SubResource("VisualShaderNodeFloatOp_n3gh3")
+nodes/fragment/27/position = Vector2(126, 105)
+nodes/fragment/40/node = SubResource("VisualShaderNodeVectorOp_yqpiy")
+nodes/fragment/40/position = Vector2(1617, -84)
+nodes/fragment/46/node = SubResource("VisualShaderNodeSmoothStep_ludc6")
+nodes/fragment/46/position = Vector2(700, -60)
+nodes/fragment/47/node = SubResource("VisualShaderNodeSmoothStep_hpd7b")
+nodes/fragment/47/position = Vector2(700, 300)
+nodes/fragment/48/node = SubResource("VisualShaderNodeFloatOp_sxb5j")
+nodes/fragment/48/position = Vector2(1071, 42)
+nodes/fragment/49/node = SubResource("VisualShaderNodeFloatOp_3jcqr")
+nodes/fragment/49/position = Vector2(1302, 84)
+nodes/fragment/connections = PackedInt32Array(2, 0, 25, 0, 25, 0, 27, 0, 26, 0, 27, 1, 27, 0, 12, 0, 12, 0, 47, 2, 46, 0, 48, 0, 47, 0, 48, 1, 48, 0, 49, 0, 49, 0, 0, 1, 40, 0, 0, 0, 49, 0, 40, 1, 19, 0, 40, 0, 5, 2, 26, 0, 12, 0, 46, 2)
[resource]
-shader = SubResource( 22 )
+render_priority = 0
+shader = SubResource("VisualShader_buj8i")
diff --git a/scenes/demo_scene_base.gd b/scenes/demo_scene_base.gd
new file mode 100644
index 00000000..9a661f70
--- /dev/null
+++ b/scenes/demo_scene_base.gd
@@ -0,0 +1,27 @@
+class_name DemoSceneBase
+extends XRToolsSceneBase
+
+func _ready():
+ super()
+
+ var webxr_interface = XRServer.find_interface("WebXR")
+ if webxr_interface:
+ XRToolsUserSettings.webxr_primary_changed.connect(self._on_webxr_primary_changed)
+ _on_webxr_primary_changed(XRToolsUserSettings.get_real_webxr_primary())
+
+
+func _on_webxr_primary_changed(webxr_primary: int) -> void:
+ # Default to thumbstick.
+ if webxr_primary == 0:
+ webxr_primary = XRToolsUserSettings.WebXRPrimary.THUMBSTICK
+
+ # Re-assign the action name on all the applicable functions.
+ var action_name = XRToolsUserSettings.get_webxr_primary_action(webxr_primary)
+ for controller in [$XROrigin3D/LeftHand, $XROrigin3D/RightHand]:
+ for n in ["MovementDirect", "MovementTurn", "FunctionTeleport"]:
+ var f = controller.get_node_or_null(n)
+ if f:
+ if "input_action" in f:
+ f.input_action = action_name
+ if "rotation_action" in f:
+ f.rotation_action = action_name
diff --git a/scenes/footstep_movement_demo/footstep movement demo.png.import b/scenes/footstep_movement_demo/footstep movement demo.png.import
index f92173ed..757f4380 100644
--- a/scenes/footstep_movement_demo/footstep movement demo.png.import
+++ b/scenes/footstep_movement_demo/footstep movement demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.stex"
-path.etc="res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dwryn8mjdj86m"
+path.s3tc="res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.ctex"
+path.etc2="res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/footstep_movement_demo/footstep movement demo.png"
-dest_files=[ "res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.stex", "res://.import/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc.stex" ]
+dest_files=["res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.s3tc.ctex", "res://.godot/imported/footstep movement demo.png-9b27f7d693208653d68f1aed94dd89af.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/footstep_movement_demo/footstep_movement_demo.tscn b/scenes/footstep_movement_demo/footstep_movement_demo.tscn
index acc19962..22d1285c 100644
--- a/scenes/footstep_movement_demo/footstep_movement_demo.tscn
+++ b/scenes/footstep_movement_demo/footstep_movement_demo.tscn
@@ -1,84 +1,77 @@
-[gd_scene load_steps=18 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=9]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=10]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=11]
-[ext_resource path="res://assets/meshes/plate/surface_objects.tscn" type="PackedScene" id=12]
-[ext_resource path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" type="Script" id=13]
-[ext_resource path="res://assets/footsteps/default_footstep.wav" type="AudioStream" id=14]
-[ext_resource path="res://scenes/footstep_movement_demo/objects/instructions.tscn" type="PackedScene" id=16]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_footstep.tscn" type="PackedScene" id=17]
-
-[sub_resource type="Resource" id=2]
-script = ExtResource( 13 )
-name = ""
-hit_sound = ExtResource( 14 )
-walk_sounds = [ ExtResource( 14 ), ExtResource( 14 ) ]
+[gd_scene load_steps=19 format=3 uid="uid://di3m8og7wdtw7"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="1_yauh3"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://mnoirgubr2js" path="res://scenes/footstep_movement_demo/objects/instructions.tscn" id="3_8248t"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="9"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="10"]
+[ext_resource type="PackedScene" uid="uid://0xlsitpu17r1" path="res://addons/godot-xr-tools/functions/movement_footstep.tscn" id="10_e05iy"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="11"]
+[ext_resource type="AudioStream" uid="uid://cddgfn5xkknr4" path="res://assets/footsteps/default_footstep.wav" id="11_xknd6"]
+[ext_resource type="PackedScene" uid="uid://54qovguk25i5" path="res://assets/meshes/plate/surface_objects.tscn" id="12"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/audio/surface_audio_type.gd" id="14_cqr4a"]
+
+[sub_resource type="Resource" id="Resource_lclo7"]
+script = ExtResource("14_cqr4a")
+name = "Default"
+hit_sound = ExtResource("11_xknd6")
+walk_sounds = Array[AudioStream]([ExtResource("11_xknd6"), ExtResource("11_xknd6")])
walk_pitch_minimum = 0.8
walk_pitch_maximum = 1.2
-[node name="FootstepMovementDemo" instance=ExtResource( 1 )]
+[node name="FootstepMovementDemo" instance=ExtResource("1")]
+script = ExtResource("1_yauh3")
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )]
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("6")]
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 5 )]
-__meta__ = {
-"_editor_description_": ""
-}
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
strafe = true
-[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 3 )]
-__meta__ = {
-"_editor_description_": ""
-}
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("9")]
+jump_button_action = "ax_button"
+
+[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("3")]
crouch_height = 1.3
-crouch_button = 1
+crouch_button_action = "by_button"
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 8 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("8")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )]
-__meta__ = {
-"_editor_description_": ""
-}
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 7 )]
-__meta__ = {
-"_editor_description_": ""
-}
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("7")]
+
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("9")]
+jump_button_action = "ax_button"
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 9 )]
-jump_button_id = 7
+[node name="MovementCrouch" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("3")]
+crouch_height = 1.3
+crouch_button_action = "by_button"
+crouch_type = 1
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 4 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("4")]
+top_level = true
+body_forward_mix = 0.75
-[node name="MovementFootstep" parent="ARVROrigin" index="4" instance=ExtResource( 17 )]
-default_surface_audio_type = SubResource( 2 )
+[node name="MovementFootstep" parent="XROrigin3D" index="4" instance=ExtResource("10_e05iy")]
+default_surface_audio_type = SubResource("Resource_lclo7")
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("2")]
-[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5 )
+[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
scene_base = NodePath("..")
-title = ExtResource( 10 )
-
-[node name="surface_objects" parent="." index="3" instance=ExtResource( 12 )]
+title = ExtResource("10")
-[node name="Instructions" parent="." index="4" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.167241, 3.76897, -15.3981 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("3_8248t")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -16)
-[editable path="ARVROrigin/MovementFootstep"]
+[node name="surface_objects" parent="." index="4" instance=ExtResource("12")]
diff --git a/scenes/footstep_movement_demo/objects/instructions.tscn b/scenes/footstep_movement_demo/objects/instructions.tscn
index e0b4f9d7..63832e56 100644
--- a/scenes/footstep_movement_demo/objects/instructions.tscn
+++ b/scenes/footstep_movement_demo/objects/instructions.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://mnoirgubr2js"]
-[ext_resource path="res://scenes/footstep_movement_demo/objects/instructions_2d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
+[ext_resource type="PackedScene" uid="uid://yev5htm4v2go" path="res://scenes/footstep_movement_demo/objects/instructions_2d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
-[sub_resource type="CubeMesh" id=1]
-material = ExtResource( 3 )
-size = Vector3( 4, 5, 0.1 )
+[sub_resource type="BoxMesh" id="1"]
+material = ExtResource("3")
+size = Vector3(4.2, 2.7, 0.1)
-[node name="Instructions" type="Spatial"]
+[node name="Instructions" type="Node3D"]
-[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )]
-screen_size = Vector2( 4, 5 )
-viewport_size = Vector2( 400, 425 )
+[node name="Viewport2Din3D" parent="." instance=ExtResource("2")]
+screen_size = Vector2(4, 5)
+viewport_size = Vector2(400, 425)
unshaded = true
-scene = ExtResource( 1 )
+scene = ExtResource("1")
update_mode = 0
collision_layer = 0
-[node name="MeshInstance" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 )
-mesh = SubResource( 1 )
+[node name="MeshInstance" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, -0.1)
+mesh = SubResource("1")
diff --git a/scenes/footstep_movement_demo/objects/instructions_2d.tscn b/scenes/footstep_movement_demo/objects/instructions_2d.tscn
index 6c8d9826..0812d7b8 100644
--- a/scenes/footstep_movement_demo/objects/instructions_2d.tscn
+++ b/scenes/footstep_movement_demo/objects/instructions_2d.tscn
@@ -1,23 +1,27 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://yev5htm4v2go"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -100.0
-rect_pivot_offset = Vector2( -421, -85 )
+grow_horizontal = 2
+grow_vertical = 2
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 500.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 1
+offset_right = 400.0
+offset_bottom = 500.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 400.0
-margin_bottom = 480.0
-custom_constants/line_separation = -1
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 470.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Footstep Demo
This scene demonstrates the footstep system.
@@ -30,25 +34,19 @@ Usage:
currently standing on.
- surface_audio.tscn
- this is the node you can attach to a StaticBody
- which lets you define the surface audio resource
-
- 1) select a StaticBody and attach
- a surface_audio.tscn to it
-
- 2) select Resource, create a
- new XRToolsSurfaceAudioType
-
- 3) Name - fill in the the surface name to be used
- for the footstep
-
- 4) Walk Sounds and HitSound - fill with the desired
- audio files
-
- 4)a: Walk Sounds can be multiple ones
- 4)b: HitSound is the sound that is
- being played when the player jumps
+ this is the node you can attach to a StaticBody which lets you
+ define the surface audio resource
+ 1) select a StaticBody and attach a surface_audio.tscn to it
+ 2) select Resource, create a new XRToolsSurfaceAudioType
+ 3) Name - fill in the the surface name to be used for
+ the footstep
+
+ 3) Walk Sounds and HitSound - fill with the desired audio files
+ 3)a: Walk Sounds can be multiple ones
+ 3)b: HitSound is the sound that is being played when
+ the player jumps
- 5) WalkPitch Min/Max
- can be adjusted to create a randomized pitch scale
- of the footstep audio"
+ 4) WalkPitch Min/Max
+ can be adjusted to create a randomized pitch scale of the
+ footstep audio
+ "
diff --git a/scenes/grappling_demo/grappling_demo.png.import b/scenes/grappling_demo/grappling_demo.png.import
index 9ffffaad..685f6b1e 100644
--- a/scenes/grappling_demo/grappling_demo.png.import
+++ b/scenes/grappling_demo/grappling_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.stex"
-path.etc="res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bwkm0t73t80cs"
+path.s3tc="res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.ctex"
+path.etc2="res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/grappling_demo/grappling_demo.png"
-dest_files=[ "res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.stex", "res://.import/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc.stex" ]
+dest_files=["res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.s3tc.ctex", "res://.godot/imported/grappling_demo.png-3277f986c37005ed2326287520676e8f.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/grappling_demo/grappling_demo.tscn b/scenes/grappling_demo/grappling_demo.tscn
index 84094d00..6b9f3ae7 100644
--- a/scenes/grappling_demo/grappling_demo.tscn
+++ b/scenes/grappling_demo/grappling_demo.tscn
@@ -1,107 +1,104 @@
-[gd_scene load_steps=18 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/grappling_demo/objects/moving_platforms.tscn" type="PackedScene" id=12]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=13]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=14]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=15]
-[ext_resource path="res://scenes/grappling_demo/objects/instructions.tscn" type="PackedScene" id=16]
-[ext_resource path="res://scenes/grappling_demo/objects/tower.tscn" type="PackedScene" id=18]
-
-[node name="GrapplingDemo" instance=ExtResource( 1 )]
-
-[node name="ARVROrigin" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 28 )
-
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )]
-
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 3 )]
-enabled = true
-order = 10
+[gd_scene load_steps=19 format=3 uid="uid://cvnl210i6nydl"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://c78tjrtiyqna8" path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="2_7xgbg"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_lm0po"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_n2v2n"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="11"]
+[ext_resource type="PackedScene" path="res://scenes/grappling_demo/objects/moving_platforms.tscn" id="12"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="14"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="15"]
+[ext_resource type="PackedScene" path="res://scenes/grappling_demo/objects/instructions.tscn" id="15_vd3ki"]
+[ext_resource type="PackedScene" uid="uid://lelocs2v705t" path="res://scenes/grappling_demo/objects/tower.tscn" id="18"]
+
+[node name="GrapplingDemo" instance=ExtResource("1")]
+script = ExtResource("2_lm0po")
+
+[node name="XROrigin3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 28)
+
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_7xgbg")]
+
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("3")]
max_speed = 3.0
strafe = true
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")]
+jump_button_action = "ax_button"
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("8")]
ranged_enable = false
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_n2v2n")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 3 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("3")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 7 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("7")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")]
+jump_button_action = "ax_button"
-[node name="MovementGrapple" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 2 )]
+[node name="MovementGrapple" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("2")]
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="5" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="5" instance=ExtResource("8")]
ranged_enable = false
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 11 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("11")]
-[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 4 )]
+[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("4")]
-[node name="MovementGlide" parent="ARVROrigin" index="5" instance=ExtResource( 9 )]
+[node name="MovementGlide" parent="XROrigin3D" index="5" instance=ExtResource("9")]
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 13 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("13")]
-[node name="ToMainMenu" parent="." index="2" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 32 )
+[node name="ToMainMenu" parent="." index="2" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 32)
scene_base = NodePath("..")
-title = ExtResource( 15 )
+title = ExtResource("15")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 24 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("15_vd3ki")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 24)
-[node name="Towers" type="Spatial" parent="." index="4"]
+[node name="Towers" type="Node3D" parent="." index="4"]
-[node name="Tower1" parent="Towers" index="0" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, -8 )
+[node name="Tower1" parent="Towers" index="0" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, -8)
-[node name="Tower2" parent="Towers" index="1" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8 )
+[node name="Tower2" parent="Towers" index="1" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8)
-[node name="Tower3" parent="Towers" index="2" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, -8 )
+[node name="Tower3" parent="Towers" index="2" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, -8)
-[node name="Tower4" parent="Towers" index="3" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, 0 )
+[node name="Tower4" parent="Towers" index="3" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, 0)
-[node name="Tower5" parent="Towers" index="4" instance=ExtResource( 18 )]
+[node name="Tower5" parent="Towers" index="4" instance=ExtResource("18")]
-[node name="Tower6" parent="Towers" index="5" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0 )
+[node name="Tower6" parent="Towers" index="5" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0)
-[node name="Tower7" parent="Towers" index="6" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, 8 )
+[node name="Tower7" parent="Towers" index="6" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, -2, 8)
-[node name="Tower8" parent="Towers" index="7" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8 )
+[node name="Tower8" parent="Towers" index="7" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 8)
-[node name="Tower9" parent="Towers" index="8" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, 8 )
+[node name="Tower9" parent="Towers" index="8" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, -2, 8)
-[node name="MovingPlatformsLow" parent="." index="5" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0 )
+[node name="MovingPlatformsLow" parent="." index="5" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0)
-[node name="MovingPlatformsHigh" parent="." index="6" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0 )
+[node name="MovingPlatformsHigh" parent="." index="6" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 0)
rate = -10.0
diff --git a/scenes/grappling_demo/objects/instructions_2d.tscn b/scenes/grappling_demo/objects/instructions_2d.tscn
index 945cf5be..ac585f41 100644
--- a/scenes/grappling_demo/objects/instructions_2d.tscn
+++ b/scenes/grappling_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://c83u3yf6se26f"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Grappling Demo
This scene demonstrates grappling movement with the following controls:
diff --git a/scenes/grappling_demo/objects/moving_platforms.gd b/scenes/grappling_demo/objects/moving_platforms.gd
index 2e4bd51d..18660638 100644
--- a/scenes/grappling_demo/objects/moving_platforms.gd
+++ b/scenes/grappling_demo/objects/moving_platforms.gd
@@ -1,8 +1,8 @@
-extends Spatial
+extends Node3D
# Rotation rate
-export var rate : float = 10.0
+@export var rate : float = 10.0
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _physics_process(delta):
- rotate_y(deg2rad(delta * rate))
+ rotate_y(deg_to_rad(delta * rate))
diff --git a/scenes/grappling_demo/objects/moving_platforms.tscn b/scenes/grappling_demo/objects/moving_platforms.tscn
index fefae6e9..b5e23ae5 100644
--- a/scenes/grappling_demo/objects/moving_platforms.tscn
+++ b/scenes/grappling_demo/objects/moving_platforms.tscn
@@ -3,17 +3,17 @@
[ext_resource path="res://scenes/grappling_demo/objects/platform.tscn" type="PackedScene" id=2]
[ext_resource path="res://scenes/grappling_demo/objects/moving_platforms.gd" type="Script" id=3]
-[node name="MovingPlatforms" type="Spatial"]
+[node name="MovingPlatforms" type="Node3D"]
script = ExtResource( 3 )
[node name="Platform1" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 17 )
+transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 17 )
[node name="Platform2" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 0, 0 )
+transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, -17, 0, 0 )
[node name="Platform3" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -17 )
+transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -17 )
[node name="Platform4" parent="." instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 0 )
+transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17, 0, 0 )
diff --git a/scenes/grappling_demo/objects/platform.tscn b/scenes/grappling_demo/objects/platform.tscn
index 6f6a1ebd..2604699c 100644
--- a/scenes/grappling_demo/objects/platform.tscn
+++ b/scenes/grappling_demo/objects/platform.tscn
@@ -1,22 +1,22 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://cfagt23i6sx20"]
-[ext_resource path="res://addons/godot-xr-tools/objects/climbable.gd" type="Script" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/climbable.gd" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
-[sub_resource type="CubeMesh" id=3]
-size = Vector3( 5, 1, 5 )
+[sub_resource type="BoxMesh" id="3"]
+size = Vector3(5, 1, 5)
-[sub_resource type="BoxShape" id=4]
-extents = Vector3( 2.5, 0.5, 2.5 )
+[sub_resource type="BoxShape3D" id="4"]
+size = Vector3(5, 1, 5)
-[node name="Platform" type="StaticBody"]
+[node name="Platform" type="StaticBody3D"]
collision_layer = 262145
collision_mask = 0
-script = ExtResource( 1 )
+script = ExtResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="."]
-mesh = SubResource( 3 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+mesh = SubResource("3")
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 4 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("4")
diff --git a/scenes/grappling_demo/objects/tower.tscn b/scenes/grappling_demo/objects/tower.tscn
index eebf9d75..e2b44a66 100644
--- a/scenes/grappling_demo/objects/tower.tscn
+++ b/scenes/grappling_demo/objects/tower.tscn
@@ -1,21 +1,21 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://lelocs2v705t"]
-[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 1.5, 4, 1.5 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(3, 8, 3)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 3, 8, 3 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(3, 8, 3)
-[node name="Tower" instance=ExtResource( 1 )]
+[node name="Tower" instance=ExtResource("1")]
-[node name="CollisionShape" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
-shape = SubResource( 1 )
+[node name="CollisionShape3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0)
+shape = SubResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("2")
diff --git a/scenes/interactables_demo/interactables_demo.png.import b/scenes/interactables_demo/interactables_demo.png.import
index d7e16397..8dfc7e1b 100644
--- a/scenes/interactables_demo/interactables_demo.png.import
+++ b/scenes/interactables_demo/interactables_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.stex"
-path.etc="res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bv0r0klv2u7tl"
+path.s3tc="res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.ctex"
+path.etc2="res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/interactables_demo/interactables_demo.png"
-dest_files=[ "res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.stex", "res://.import/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc.stex" ]
+dest_files=["res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.s3tc.ctex", "res://.godot/imported/interactables_demo.png-93e206d3cc672685eee906618bf6aff3.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/interactables_demo/interactables_demo.tscn b/scenes/interactables_demo/interactables_demo.tscn
index adc83aea..03277216 100644
--- a/scenes/interactables_demo/interactables_demo.tscn
+++ b/scenes/interactables_demo/interactables_demo.tscn
@@ -1,111 +1,108 @@
-[gd_scene load_steps=24 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=3]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=4]
-[ext_resource path="res://assets/meshes/interactables/slider_snap.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" type="PackedScene" id=11]
-[ext_resource path="res://assets/meshes/interactables/slider_smooth.tscn" type="PackedScene" id=12]
-[ext_resource path="res://assets/meshes/interactables/slider_zero.tscn" type="PackedScene" id=13]
-[ext_resource path="res://assets/meshes/interactables/lever_smooth.tscn" type="PackedScene" id=14]
-[ext_resource path="res://assets/meshes/interactables/lever_zero.tscn" type="PackedScene" id=15]
-[ext_resource path="res://assets/meshes/interactables/lever_snap.tscn" type="PackedScene" id=16]
-[ext_resource path="res://assets/meshes/interactables/joystick_snap.tscn" type="PackedScene" id=17]
-[ext_resource path="res://assets/meshes/interactables/joystick_smooth.tscn" type="PackedScene" id=18]
-[ext_resource path="res://assets/meshes/interactables/joystick_zero.tscn" type="PackedScene" id=19]
-[ext_resource path="res://assets/meshes/interactables/wheel_smooth.tscn" type="PackedScene" id=20]
-[ext_resource path="res://assets/meshes/interactables/push_button.tscn" type="PackedScene" id=21]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=22]
-[ext_resource path="res://scenes/interactables_demo/objects/instructions.tscn" type="PackedScene" id=23]
-
-[node name="InteractablesDemo" instance=ExtResource( 1 )]
-
-[node name="LeftPhysicsHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 6 )]
-
-[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 22 )]
-
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 8 )]
-enabled = true
-order = 10
+[gd_scene load_steps=25 format=3 uid="uid://hv3is88xy8k4"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_a3nc2"]
+[ext_resource type="PackedScene" uid="uid://bdwmserhqai5h" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" id="2_ho402"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="3_s2g5l"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="4"]
+[ext_resource type="PackedScene" uid="uid://dukyhft262nrv" path="res://assets/meshes/interactables/slider_snap.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://btf05hjpw6k05" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" id="5_x135n"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="10"]
+[ext_resource type="PackedScene" path="res://scenes/interactables_demo/objects/instructions.tscn" id="11_txloh"]
+[ext_resource type="PackedScene" uid="uid://cpwdvy41fqdua" path="res://assets/meshes/interactables/slider_smooth.tscn" id="12"]
+[ext_resource type="PackedScene" uid="uid://hv8nnbkuccxi" path="res://assets/meshes/interactables/slider_zero.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://cs6dxfu5owcgo" path="res://assets/meshes/interactables/lever_smooth.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://cll4pk3kuuq1" path="res://assets/meshes/interactables/lever_zero.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://dxgv8axd355m7" path="res://assets/meshes/interactables/lever_snap.tscn" id="16"]
+[ext_resource type="PackedScene" uid="uid://bnckmqfewiysy" path="res://assets/meshes/interactables/joystick_snap.tscn" id="17"]
+[ext_resource type="PackedScene" uid="uid://bvgjfffe0w2uu" path="res://assets/meshes/interactables/joystick_smooth.tscn" id="18"]
+[ext_resource type="PackedScene" uid="uid://dtrftty6i383g" path="res://assets/meshes/interactables/joystick_zero.tscn" id="19"]
+[ext_resource type="PackedScene" uid="uid://d2td5hwh2oluy" path="res://assets/meshes/interactables/wheel_smooth.tscn" id="20"]
+[ext_resource type="PackedScene" uid="uid://dbv1hvxufc1al" path="res://assets/meshes/interactables/push_button.tscn" id="21"]
+
+[node name="InteractablesDemo" instance=ExtResource("1")]
+script = ExtResource("2_a3nc2")
+
+[node name="LeftPhysicsHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_ho402")]
+
+[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("3_s2g5l")]
+
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("8")]
max_speed = 3.0
strafe = true
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 7 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("7")]
ranged_enable = false
-[node name="RightPhysicsHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 11 )]
+[node name="RightPhysicsHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5_x135n")]
-[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 22 )]
+[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("3_s2g5l")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 8 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("8")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 10 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("10")]
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 7 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7")]
ranged_enable = false
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 9 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("9")]
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("2")]
-[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 3 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 )
+[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
scene_base = NodePath("..")
-title = ExtResource( 4 )
+title = ExtResource("4")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 23 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("11_txloh")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4)
-[node name="Interactables" type="Spatial" parent="." index="4"]
+[node name="Interactables" type="Node3D" parent="." index="4"]
-[node name="SliderSmooth" parent="Interactables" index="0" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1, -2 )
+[node name="SliderSmooth" parent="Interactables" index="0" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 1, -2)
-[node name="SliderSnap" parent="Interactables" index="1" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 1, -2 )
+[node name="SliderSnap" parent="Interactables" index="1" instance=ExtResource("5")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 1, -2)
-[node name="SliderZero" parent="Interactables" index="2" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 1, -2 )
+[node name="SliderZero" parent="Interactables" index="2" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.2, 1, -2)
-[node name="LeverSmooth" parent="Interactables" index="3" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1, -2 )
+[node name="LeverSmooth" parent="Interactables" index="3" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 1, -2)
-[node name="LeverSnap" parent="Interactables" index="4" instance=ExtResource( 16 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 1, -2 )
+[node name="LeverSnap" parent="Interactables" index="4" instance=ExtResource("16")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 1, -2)
-[node name="LeverZero" parent="Interactables" index="5" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 1, -2 )
+[node name="LeverZero" parent="Interactables" index="5" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.2, 1, -2)
-[node name="JoystickSmooth" parent="Interactables" index="6" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -2 )
+[node name="JoystickSmooth" parent="Interactables" index="6" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -2)
-[node name="JoystickSnap" parent="Interactables" index="7" instance=ExtResource( 17 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 1.5, -2 )
+[node name="JoystickSnap" parent="Interactables" index="7" instance=ExtResource("17")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3, 1.5, -2)
-[node name="JoystickZero" parent="Interactables" index="8" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 1.5, -2 )
+[node name="JoystickZero" parent="Interactables" index="8" instance=ExtResource("19")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 1.5, -2)
-[node name="WheelSmooth" parent="Interactables" index="9" instance=ExtResource( 20 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2 )
+[node name="WheelSmooth" parent="Interactables" index="9" instance=ExtResource("20")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
-[node name="PushButton1" parent="Interactables" index="10" instance=ExtResource( 21 )]
-transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.6, 1.2, -2 )
+[node name="PushButton1" parent="Interactables" index="10" instance=ExtResource("21")]
+transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, -1.6, 1.2, -2)
-[node name="PushButton2" parent="Interactables" index="11" instance=ExtResource( 21 )]
-transform = Transform( 1, 0, 0, 0, -0.642788, -0.766044, 0, 0.766044, -0.642788, -1.6, 0.8, -2 )
+[node name="PushButton2" parent="Interactables" index="11" instance=ExtResource("21")]
+transform = Transform3D(1, 0, 0, 0, -0.642788, -0.766044, 0, 0.766044, -0.642788, -1.6, 0.8, -2)
-[node name="PushButton3" parent="Interactables" index="12" instance=ExtResource( 21 )]
-transform = Transform( 0.707107, -0.707107, 3.09086e-08, 0, -4.37114e-08, -1, 0.707107, 0.707107, -3.09086e-08, -1.65, 1, -2 )
+[node name="PushButton3" parent="Interactables" index="12" instance=ExtResource("21")]
+transform = Transform3D(0.707107, -0.707107, 3.09086e-08, 0, -4.37114e-08, -1, 0.707107, 0.707107, -3.09086e-08, -1.65, 1, -2)
-[node name="PushButton4" parent="Interactables" index="13" instance=ExtResource( 21 )]
-transform = Transform( 0.642788, 0.766044, -3.34849e-08, 0, -4.37114e-08, -1, -0.766044, 0.642788, -2.80971e-08, -1.55, 1, -2 )
+[node name="PushButton4" parent="Interactables" index="13" instance=ExtResource("21")]
+transform = Transform3D(0.642788, 0.766044, -3.34849e-08, 0, -4.37114e-08, -1, -0.766044, 0.642788, -2.80971e-08, -1.55, 1, -2)
diff --git a/scenes/interactables_demo/objects/instructions_2d.tscn b/scenes/interactables_demo/objects/instructions_2d.tscn
index a6f6d9dc..bca0b066 100644
--- a/scenes/interactables_demo/objects/instructions_2d.tscn
+++ b/scenes/interactables_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://8q1lcws0xejc"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Interactables Demo
diff --git a/scenes/main_menu/main_menu_level.gd b/scenes/main_menu/main_menu_level.gd
index 7b533db6..c009e5dd 100644
--- a/scenes/main_menu/main_menu_level.gd
+++ b/scenes/main_menu/main_menu_level.gd
@@ -1,5 +1,5 @@
-tool
-extends XRToolsSceneBase
+@tool
+extends DemoSceneBase
func _update_demo_positions() -> void:
# Update and count the visible teleporters
@@ -16,7 +16,7 @@ func _update_demo_positions() -> void:
if count > 1:
var angle = 2.0 * PI / count
for i in count:
- var t = Transform()
+ var t = Transform3D()
t.origin = Vector3(0.0, 0.0, -10.0)
t = t.rotated(Vector3.UP, angle * i)
@@ -24,10 +24,11 @@ func _update_demo_positions() -> void:
func _ready():
+ super()
_update_demo_positions()
for teleporter in $Demos.get_children():
- teleporter.connect("visibility_changed", self, "_update_demo_positions")
+ teleporter.connect("visibility_changed",_update_demo_positions)
func _on_Demos_child_entered_tree(_node):
diff --git a/scenes/main_menu/main_menu_level.tscn b/scenes/main_menu/main_menu_level.tscn
index 0c86cbb5..afc562f5 100644
--- a/scenes/main_menu/main_menu_level.tscn
+++ b/scenes/main_menu/main_menu_level.tscn
@@ -1,237 +1,280 @@
-[gd_scene load_steps=50 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" type="PackedScene" id=3]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=6]
-[ext_resource path="res://scenes/basic_movement_demo/basic_movement_demo.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=8]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=9]
-[ext_resource path="res://scenes/basic_movement_demo/basic movement demo.png" type="Texture" id=10]
-[ext_resource path="res://scenes/teleport_demo/teleport_demo.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/teleport_demo/teleport movement demo.png" type="Texture" id=12]
-[ext_resource path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png" type="Texture" id=13]
-[ext_resource path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.tscn" type="PackedScene" id=14]
-[ext_resource path="res://scenes/grappling_demo/grappling_demo.tscn" type="PackedScene" id=15]
-[ext_resource path="res://scenes/grappling_demo/grappling_demo.png" type="Texture" id=16]
-[ext_resource path="res://scenes/interactables_demo/interactables_demo.png" type="Texture" id=17]
-[ext_resource path="res://scenes/interactables_demo/interactables_demo.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/pointer_demo/pointer_demo.tscn" type="PackedScene" id=19]
-[ext_resource path="res://scenes/pointer_demo/pointer_demo.png" type="Texture" id=20]
-[ext_resource path="res://scenes/pickable_demo/pickable_demo.tscn" type="PackedScene" id=21]
-[ext_resource path="res://scenes/pickable_demo/pickable_demo.png" type="Texture" id=22]
-[ext_resource path="res://scenes/main_menu/main_menu_level.gd" type="Script" id=23]
-[ext_resource path="res://scenes/poke_demo/poke_demo.tscn" type="PackedScene" id=24]
-[ext_resource path="res://scenes/poke_demo/poke_demo.png" type="Texture" id=25]
-[ext_resource path="res://scenes/main_menu/objects/settings_ui.tscn" type="PackedScene" id=26]
-[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.tscn" type="PackedScene" id=27]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/labglove.material" type="Material" id=28]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=29]
-[ext_resource path="res://scenes/sprinting_demo/sprinting_demo.tscn" type="PackedScene" id=30]
-[ext_resource path="res://scenes/sprinting_demo/sprinting_demo.png" type="Texture" id=31]
-[ext_resource path="res://scenes/origin_gravity_demo/origin_gravity_demo.png" type="Texture" id=32]
-[ext_resource path="res://scenes/origin_gravity_demo/origin_gravity_demo.tscn" type="PackedScene" id=33]
-[ext_resource path="res://scenes/sphere_world_demo/sphere_world_demo.png" type="Texture" id=34]
-[ext_resource path="res://scenes/sphere_world_demo/sphere_world_demo.tscn" type="PackedScene" id=35]
-[ext_resource path="res://scenes/footstep_movement_demo/footstep movement demo.png" type="Texture" id=36]
-[ext_resource path="res://scenes/footstep_movement_demo/footstep_movement_demo.tscn" type="PackedScene" id=37]
-
-[sub_resource type="AnimationNodeAnimation" id=1]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeAnimation" id=2]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeBlend2" id=3]
+[gd_scene load_steps=50 format=3 uid="uid://utga61rlgb3t"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="Script" path="res://scenes/main_menu/main_menu_level.gd" id="2_taoax"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="4_eoo0b"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="5_xgcrx"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://c3pffsm74as2t" path="res://scenes/basic_movement_demo/basic_movement_demo.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="9"]
+[ext_resource type="Texture2D" uid="uid://8jxrr3gqnxck" path="res://scenes/basic_movement_demo/basic movement demo.png" id="10"]
+[ext_resource type="PackedScene" path="res://scenes/teleport_demo/teleport_demo.tscn" id="11"]
+[ext_resource type="Texture2D" uid="uid://c8qc5ja60n3u8" path="res://scenes/teleport_demo/teleport movement demo.png" id="12"]
+[ext_resource type="Texture2D" uid="uid://d3epm85d4s28f" path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.png" id="13"]
+[ext_resource type="PackedScene" uid="uid://c7ebkdn7ryqrp" path="res://scenes/climbing_gliding_demo/climbing_gliding_demo.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://cvnl210i6nydl" path="res://scenes/grappling_demo/grappling_demo.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://di3m8og7wdtw7" path="res://scenes/footstep_movement_demo/footstep_movement_demo.tscn" id="15_3b6cs"]
+[ext_resource type="Texture2D" uid="uid://dwryn8mjdj86m" path="res://scenes/footstep_movement_demo/footstep movement demo.png" id="15_k6bhw"]
+[ext_resource type="Texture2D" uid="uid://bwkm0t73t80cs" path="res://scenes/grappling_demo/grappling_demo.png" id="16"]
+[ext_resource type="Texture2D" uid="uid://bv0r0klv2u7tl" path="res://scenes/interactables_demo/interactables_demo.png" id="17"]
+[ext_resource type="PackedScene" uid="uid://hv3is88xy8k4" path="res://scenes/interactables_demo/interactables_demo.tscn" id="18"]
+[ext_resource type="PackedScene" uid="uid://deq6satll2p5x" path="res://scenes/pointer_demo/pointer_demo.tscn" id="19"]
+[ext_resource type="Texture2D" uid="uid://bh5j2q7vpmr0b" path="res://scenes/pointer_demo/pointer_demo.png" id="20"]
+[ext_resource type="PackedScene" uid="uid://j53121pbwpsw" path="res://scenes/pickable_demo/pickable_demo.tscn" id="21"]
+[ext_resource type="Texture2D" uid="uid://ny4n43p3e3du" path="res://scenes/pickable_demo/pickable_demo.png" id="22"]
+[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="23_pr05t"]
+[ext_resource type="PackedScene" uid="uid://b4fy6i3e7s08u" path="res://scenes/poke_demo/poke_demo.tscn" id="24_qtcxq"]
+[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="25_2b81d"]
+[ext_resource type="Texture2D" uid="uid://bbe7o7pdq38m2" path="res://scenes/poke_demo/poke_demo.png" id="25_rg3rn"]
+[ext_resource type="PackedScene" uid="uid://3bsyhd7ehoa1" path="res://scenes/main_menu/objects/settings_ui.tscn" id="26_0uyxa"]
+[ext_resource type="Material" uid="uid://bhiiya7ow6h8v" path="res://addons/godot-xr-tools/hands/materials/labglove.material" id="26_id1x7"]
+[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/sprinting_demo.tscn" id="28_u37cd"]
+[ext_resource type="Texture2D" uid="uid://v4807nasx1dc" path="res://scenes/sprinting_demo/sprinting_demo.png" id="29_h1jn0"]
+[ext_resource type="PackedScene" uid="uid://dyfx10nwe0oil" path="res://scenes/origin_gravity_demo/origin_gravity_demo.tscn" id="31_18nh2"]
+[ext_resource type="Texture2D" uid="uid://cr1l4g7btdyht" path="res://scenes/origin_gravity_demo/origin_gravity_demo.png" id="32_c4n1q"]
+[ext_resource type="PackedScene" uid="uid://b5o25nkvyv8ho" path="res://scenes/sphere_world_demo/sphere_world_demo.tscn" id="33_ews5s"]
+[ext_resource type="Texture2D" uid="uid://dhd30j0xpcxoi" path="res://scenes/sphere_world_demo/sphere_world_demo.png" id="34_xw8ig"]
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_b71j7"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ex44k"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_umfkq"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=4]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wrckm"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=5]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_856ri"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=6]
-graph_offset = Vector2( -798.981, 58.67 )
-nodes/ClosedHand1/node = SubResource( 1 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 2 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 3 )
-nodes/Grip/position = Vector2( 0, 20 )
-nodes/OpenHand/node = SubResource( 4 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 5 )
-nodes/Trigger/position = Vector2( -360, 20 )
-node_connections = [ "output", 0, "Grip", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2" ]
-
-[sub_resource type="AnimationNodeAnimation" id=7]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeAnimation" id=8]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeBlend2" id=9]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_1xdjf"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_b71j7")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_ex44k")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_umfkq")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_wrckm")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_856ri")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wbi3t"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_se43b"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_5cf5w"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=10]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qxqxf"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=11]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_vkcg5"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=12]
-graph_offset = Vector2( -753.664, -85.6991 )
-nodes/ClosedHand1/node = SubResource( 7 )
-nodes/ClosedHand1/position = Vector2( -600, 300 )
-nodes/ClosedHand2/node = SubResource( 8 )
-nodes/ClosedHand2/position = Vector2( -360, 300 )
-nodes/Grip/node = SubResource( 9 )
-nodes/Grip/position = Vector2( 0, 40 )
-nodes/OpenHand/node = SubResource( 10 )
-nodes/OpenHand/position = Vector2( -600, 100 )
-nodes/Trigger/node = SubResource( 11 )
-nodes/Trigger/position = Vector2( -360, 40 )
-node_connections = [ "output", 0, "Grip", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2" ]
-
-[node name="MainMenuLevel" instance=ExtResource( 1 )]
-script = ExtResource( 23 )
-
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )]
-
-[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton" index="1"]
-transform = Transform( 0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.0399019, 0.0402828, -0.150096 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_3ea7w"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_wbi3t")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_se43b")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_5cf5w")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_qxqxf")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_vkcg5")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[node name="MainMenuLevel" instance=ExtResource("1")]
+script = ExtResource("2_taoax")
+
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("23_pr05t")]
+
+[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_L"
+bone_idx = 9
-[node name="Poke" parent="ARVROrigin/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 27 )]
-transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 )
+[node name="Poke" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_eoo0b")]
+transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="AnimationTree" parent="ARVROrigin/LeftHand/LeftHand" index="1"]
-tree_root = SubResource( 6 )
+[node name="AnimationTree" parent="XROrigin3D/LeftHand/LeftHand" index="1"]
+tree_root = SubResource("AnimationNodeBlendTree_1xdjf")
-[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 29 )]
+[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("5_xgcrx")]
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 6 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("6")]
max_speed = 3.0
strafe = true
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 2 )]
-hand_material_override = ExtResource( 28 )
-
-[node name="mesh_Hand_low_R" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton" index="0"]
-material_override = ExtResource( 28 )
-
-[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton" index="1"]
-transform = Transform( 0.540829, -0.840813, 0.0231736, 0.0826267, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113023, -0.0399019, 0.0402828, -0.150096 )
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("25_2b81d")]
+
+[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="mesh_Hand_low_R" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="0"]
+surface_material_override/0 = ExtResource("26_id1x7")
+
+[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_R"
+bone_idx = 9
-[node name="Poke" parent="ARVROrigin/RightHand/RightHand/Hand_low_R/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 27 )]
-transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 )
+[node name="Poke" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("4_eoo0b")]
+transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="AnimationTree" parent="ARVROrigin/RightHand/RightHand" index="1"]
-tree_root = SubResource( 12 )
+[node name="AnimationTree" parent="XROrigin3D/RightHand/RightHand" index="1"]
+tree_root = SubResource("AnimationNodeBlendTree_3ea7w")
-[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 29 )]
+[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("5_xgcrx")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 6 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("6")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")]
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 8 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("8")]
+top_level = true
+body_forward_mix = 0.75
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("4")]
-[node name="Demos" type="Spatial" parent="." index="2"]
+[node name="Demos" type="Node3D" parent="." index="2"]
-[node name="ToBasicMovementDemo" parent="Demos" index="0" instance=ExtResource( 9 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10 )
+[node name="ToBasicMovementDemo" parent="Demos" index="0" instance=ExtResource("9")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10)
scene_base = NodePath("../..")
-scene = ExtResource( 7 )
-title = ExtResource( 10 )
+scene = ExtResource("7")
+title = ExtResource("10")
-[node name="ToFootstepMovementDemo" parent="Demos" index="1" instance=ExtResource( 9 )]
-transform = Transform( 0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -5, 0, -8.66025 )
+[node name="ToFootstepDemo" parent="Demos" index="1" instance=ExtResource("9")]
+transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, -5, 0, -8.66025)
scene_base = NodePath("../..")
-scene = ExtResource( 37 )
-title = ExtResource( 36 )
+scene = ExtResource("15_3b6cs")
+title = ExtResource("15_k6bhw")
-[node name="ToTeleportDemo" parent="Demos" index="2" instance=ExtResource( 9 )]
-transform = Transform( 0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, -8.66025, 0, -5 )
+[node name="ToTeleportDemo" parent="Demos" index="2" instance=ExtResource("9")]
+transform = Transform3D(0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, -8.66025, 0, -5)
scene_base = NodePath("../..")
-scene = ExtResource( 11 )
-title = ExtResource( 12 )
+scene = ExtResource("11")
+title = ExtResource("12")
-[node name="ToClimbingGlidingDemo" parent="Demos" index="3" instance=ExtResource( 9 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10, 0, 4.37114e-07 )
+[node name="ToClimbingGlidingDemo" parent="Demos" index="3" instance=ExtResource("9")]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10, 0, 4.37114e-07)
scene_base = NodePath("../..")
-scene = ExtResource( 14 )
-title = ExtResource( 13 )
+scene = ExtResource("14")
+title = ExtResource("13")
-[node name="ToGrapplingDemo" parent="Demos" index="4" instance=ExtResource( 9 )]
-transform = Transform( -0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, -8.66025, 0, 5 )
+[node name="ToGrapplingDemo" parent="Demos" index="4" instance=ExtResource("9")]
+transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, -8.66025, 0, 5)
scene_base = NodePath("../..")
-scene = ExtResource( 15 )
-title = ExtResource( 16 )
+scene = ExtResource("15")
+title = ExtResource("16")
-[node name="ToInteractablesDemo" parent="Demos" index="5" instance=ExtResource( 9 )]
-transform = Transform( -0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, -0.866025, -5, 0, 8.66025 )
+[node name="ToInteractablesDemo" parent="Demos" index="5" instance=ExtResource("9")]
+transform = Transform3D(-0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, -0.866025, -5, 0, 8.66025)
scene_base = NodePath("../..")
-scene = ExtResource( 18 )
-title = ExtResource( 17 )
+scene = ExtResource("18")
+title = ExtResource("17")
-[node name="ToPointerDemo" parent="Demos" index="6" instance=ExtResource( 9 )]
-transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 8.74228e-07, 0, 10 )
+[node name="ToPointerDemo" parent="Demos" index="6" instance=ExtResource("9")]
+transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 8.74228e-07, 0, 10)
scene_base = NodePath("../..")
-scene = ExtResource( 19 )
-title = ExtResource( 20 )
+scene = ExtResource("19")
+title = ExtResource("20")
-[node name="ToPickableDemo" parent="Demos" index="7" instance=ExtResource( 9 )]
-transform = Transform( -0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, 5, 0, 8.66025 )
+[node name="ToPickableDemo" parent="Demos" index="7" instance=ExtResource("9")]
+transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, 5, 0, 8.66025)
scene_base = NodePath("../..")
-scene = ExtResource( 21 )
-title = ExtResource( 22 )
+scene = ExtResource("21")
+title = ExtResource("22")
-[node name="ToPokeDemo" parent="Demos" index="8" instance=ExtResource( 9 )]
-transform = Transform( -0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, 8.66025, 0, 5 )
+[node name="ToPokeDemo" parent="Demos" index="8" instance=ExtResource("9")]
+transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, 8.66025, 0, 5)
scene_base = NodePath("../..")
-scene = ExtResource( 24 )
-title = ExtResource( 25 )
+scene = ExtResource("24_qtcxq")
+title = ExtResource("25_rg3rn")
-[node name="ToSprintingDemo" parent="Demos" index="9" instance=ExtResource( 9 )]
-transform = Transform( 1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 10, 0, -1.19249e-07 )
+[node name="ToSprintDemo" parent="Demos" index="9" instance=ExtResource("9")]
+transform = Transform3D(1.19249e-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 10, 0, -1.19249e-07)
scene_base = NodePath("../..")
-scene = ExtResource( 30 )
-title = ExtResource( 31 )
+scene = ExtResource("28_u37cd")
+title = ExtResource("29_h1jn0")
-[node name="ToOriginGravityDemo" parent="Demos" index="10" instance=ExtResource( 9 )]
-transform = Transform( 0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, 0.5, 8.66025, 0, -5 )
+[node name="ToOriginGravityDemo" parent="Demos" index="10" instance=ExtResource("9")]
+transform = Transform3D(0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, 0.5, 8.66025, 0, -5)
scene_base = NodePath("../..")
-scene = ExtResource( 33 )
-title = ExtResource( 32 )
+scene = ExtResource("31_18nh2")
+title = ExtResource("32_c4n1q")
-[node name="ToSphereWorldDemo" parent="Demos" index="11" instance=ExtResource( 9 )]
-transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 5, 0, -8.66025 )
+[node name="ToSphereWorldDemo" parent="Demos" index="11" instance=ExtResource("9")]
+transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, 5, 0, -8.66025)
scene_base = NodePath("../..")
-scene = ExtResource( 35 )
-title = ExtResource( 34 )
+scene = ExtResource("33_ews5s")
+title = ExtResource("34_xw8ig")
+
+[node name="SettingsUI" parent="." index="3" instance=ExtResource("26_0uyxa")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5)
+camera = NodePath("../XROrigin3D/XRCamera3D")
-[node name="SettingsUI" parent="." index="3" instance=ExtResource( 26 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.5 )
-camera = NodePath("../ARVROrigin/ARVRCamera")
+[connection signal="child_entered_tree" from="Demos" to="." method="_on_Demos_child_entered_tree"]
+[connection signal="child_exiting_tree" from="Demos" to="." method="_on_Demos_child_exiting_tree"]
-[editable path="ARVROrigin/LeftHand/LeftHand"]
-[editable path="ARVROrigin/LeftHand/LeftHand/Hand_low_L"]
-[editable path="ARVROrigin/RightHand/RightHand"]
-[editable path="ARVROrigin/RightHand/RightHand/Hand_low_R"]
+[editable path="XROrigin3D/LeftHand/LeftHand"]
+[editable path="XROrigin3D/LeftHand/LeftHand/Hand_low_L"]
+[editable path="XROrigin3D/RightHand/RightHand"]
+[editable path="XROrigin3D/RightHand/RightHand/Hand_low_R"]
diff --git a/scenes/main_menu/objects/settings_ui.gd b/scenes/main_menu/objects/settings_ui.gd
index 193e2700..3d2ac5a2 100644
--- a/scenes/main_menu/objects/settings_ui.gd
+++ b/scenes/main_menu/objects/settings_ui.gd
@@ -1,6 +1,6 @@
-extends Spatial
+extends Node3D
-export (NodePath) var camera
+@export_node_path("XRCamera3D") var camera : NodePath
# Called when the node enters the scene tree for the first time.
func _ready():
diff --git a/scenes/main_menu/objects/settings_ui.tscn b/scenes/main_menu/objects/settings_ui.tscn
index cac7cf33..70b0c29b 100644
--- a/scenes/main_menu/objects/settings_ui.tscn
+++ b/scenes/main_menu/objects/settings_ui.tscn
@@ -1,55 +1,49 @@
-[gd_scene load_steps=10 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scenes/main_menu/objects/settings_ui_content.tscn" type="PackedScene" id=2]
-[ext_resource path="res://scenes/main_menu/objects/settings_ui.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=6]
-
-[sub_resource type="CubeMesh" id=1]
-size = Vector3( 0.65, 0.525, 0.02 )
-
-[sub_resource type="SpatialMaterial" id=2]
-albedo_color = Color( 0.203922, 0.203922, 0.203922, 1 )
-metallic = 0.35
-roughness = 0.52
-
-[sub_resource type="BoxShape" id=3]
-extents = Vector3( 0.325, 0.1, 0.25 )
-
-[node name="SettingsUI" type="Spatial"]
-script = ExtResource( 3 )
-
-[node name="Screen" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1.3, 0 )
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
-
-[node name="Viewport2Din3D" parent="Screen" instance=ExtResource( 1 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.015 )
-screen_size = Vector2( 0.625, 0.5 )
-viewport_size = Vector2( 250, 200 )
-scene = ExtResource( 2 )
-
-[node name="CSGCylinder" type="CSGCylinder" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0 )
+[gd_scene load_steps=10 format=3 uid="uid://3bsyhd7ehoa1"]
+
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://hpxufsmhvnq0" path="res://scenes/main_menu/objects/settings_ui_content.tscn" id="2"]
+[ext_resource type="Material" uid="uid://bhj8fob2pxx4l" path="res://scenes/main_menu/objects/settings_ui_material.tres" id="2_jyjdc"]
+[ext_resource type="Script" path="res://scenes/main_menu/objects/settings_ui.gd" id="3"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="5_arb8x"]
+[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="6_c66hl"]
+[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="7_tfhna"]
+
+[sub_resource type="BoxMesh" id="1"]
+size = Vector3(0.65, 0.525, 0.02)
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_7u64y"]
+size = Vector3(0.65, 0.2, 0.5)
+
+[node name="SettingsUI" type="Node3D"]
+script = ExtResource("3")
+
+[node name="Screen" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 1.3, 0)
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2_jyjdc")
+
+[node name="Viewport2Din3D" parent="Screen" instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.015)
+screen_size = Vector2(0.625, 0.5)
+viewport_size = Vector2(250, 200)
+scene = ExtResource("2")
+
+[node name="CSGCylinder" type="CSGCylinder3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0)
radius = 0.05
height = 1.8
-material = SubResource( 2 )
+material = ExtResource("2_jyjdc")
-[node name="CSGBox" type="CSGBox" parent="CSGCylinder"]
-transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.761732, 0 )
+[node name="CSGBox" type="CSGBox3D" parent="CSGCylinder"]
+transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0.761732, 0)
operation = 2
-width = 0.5
-height = 1.0
-depth = 0.5
-
-[node name="HandPoseArea" parent="." instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0 )
-left_pose = ExtResource( 5 )
-right_pose = ExtResource( 6 )
-
-[node name="CollisionShape" type="CollisionShape" parent="HandPoseArea"]
-transform = Transform( 1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0 )
-shape = SubResource( 3 )
+size = Vector3(0.5, 1, 0.5)
+
+[node name="HandPoseArea" parent="." instance=ExtResource("5_arb8x")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.3, 0)
+left_pose = ExtResource("6_c66hl")
+right_pose = ExtResource("7_tfhna")
+
+[node name="CollisionShape3D" type="CollisionShape3D" parent="HandPoseArea"]
+transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0)
+shape = SubResource("BoxShape3D_7u64y")
diff --git a/scenes/main_menu/objects/settings_ui_content.tscn b/scenes/main_menu/objects/settings_ui_content.tscn
index 906c72cf..d2f0a0e2 100644
--- a/scenes/main_menu/objects/settings_ui_content.tscn
+++ b/scenes/main_menu/objects/settings_ui_content.tscn
@@ -1,21 +1,25 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://hpxufsmhvnq0"]
-[ext_resource path="res://addons/godot-xr-tools/user_settings/user_settings_ui.tscn" type="PackedScene" id=1]
+[ext_resource type="PackedScene" uid="uid://ytsxet2k47lj" path="res://addons/godot-xr-tools/user_settings/user_settings_ui.tscn" id="1"]
[node name="SettingsUIContent" type="VBoxContainer"]
+offset_right = 250.0
+offset_bottom = 252.0
+size_flags_horizontal = 0
[node name="Header" type="HBoxContainer" parent="."]
-margin_right = 250.0
-margin_bottom = 48.0
+offset_right = 250.0
+offset_bottom = 60.0
[node name="Label" type="Label" parent="Header"]
-margin_right = 250.0
-margin_bottom = 48.0
-rect_min_size = Vector2( 250, 0 )
+offset_right = 250.0
+offset_bottom = 60.0
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 12
text = "Welcome to Godot XR Tools. Use the joysticks on your controllers to move around."
-autowrap = true
+autowrap_mode = 2
-[node name="UserSettingsUI" parent="." instance=ExtResource( 1 )]
-margin_top = 52.0
-margin_right = 250.0
-margin_bottom = 252.0
+[node name="UserSettingsUI" parent="." instance=ExtResource("1")]
+offset_top = 64.0
+offset_right = 250.0
+offset_bottom = 252.0
diff --git a/scenes/main_menu/objects/settings_ui_material.tres b/scenes/main_menu/objects/settings_ui_material.tres
new file mode 100644
index 00000000..9dec2147
--- /dev/null
+++ b/scenes/main_menu/objects/settings_ui_material.tres
@@ -0,0 +1,6 @@
+[gd_resource type="StandardMaterial3D" format=3 uid="uid://bhj8fob2pxx4l"]
+
+[resource]
+albedo_color = Color(0.203922, 0.203922, 0.203922, 1)
+metallic = 0.35
+roughness = 0.52
diff --git a/scenes/main_menu/return to main menu.png.import b/scenes/main_menu/return to main menu.png.import
index b6f36b24..f5f6ae5f 100644
--- a/scenes/main_menu/return to main menu.png.import
+++ b/scenes/main_menu/return to main menu.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.stex"
-path.etc="res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc.stex"
+type="CompressedTexture2D"
+uid="uid://ckw6nliyayo6a"
+path.s3tc="res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.ctex"
+path.etc2="res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/main_menu/return to main menu.png"
-dest_files=[ "res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.stex", "res://.import/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc.stex" ]
+dest_files=["res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.s3tc.ctex", "res://.godot/imported/return to main menu.png-0b17f9c9827dd9221f334e41b38e1ecb.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/origin_gravity_demo/objects/instructions.tscn b/scenes/origin_gravity_demo/objects/instructions.tscn
index 6b8438f5..c683f008 100644
--- a/scenes/origin_gravity_demo/objects/instructions.tscn
+++ b/scenes/origin_gravity_demo/objects/instructions.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://cyohmj7wut3s8"]
-[ext_resource path="res://scenes/origin_gravity_demo/objects/instructions_2d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
+[ext_resource type="PackedScene" uid="uid://n6t8uyds2dft" path="res://scenes/origin_gravity_demo/objects/instructions_2d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
-[sub_resource type="CubeMesh" id=1]
-material = ExtResource( 3 )
-size = Vector3( 4.2, 2.7, 0.1 )
+[sub_resource type="BoxMesh" id="1"]
+material = ExtResource("3")
+size = Vector3(4.2, 2.7, 0.1)
-[node name="Instructions" type="Spatial"]
+[node name="Instructions" type="Node3D"]
-[node name="Viewport2Din3D" parent="." instance=ExtResource( 2 )]
-screen_size = Vector2( 4, 2.5 )
-viewport_size = Vector2( 400, 250 )
+[node name="Viewport2Din3D" parent="." instance=ExtResource("2")]
+screen_size = Vector2(4, 2.5)
+viewport_size = Vector2(400, 250)
unshaded = true
-scene = ExtResource( 1 )
+scene = ExtResource("1")
update_mode = 0
collision_layer = 0
-[node name="MeshInstance" type="MeshInstance" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1 )
-mesh = SubResource( 1 )
+[node name="MeshInstance" type="MeshInstance3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.1)
+mesh = SubResource("1")
diff --git a/scenes/origin_gravity_demo/objects/instructions_2d.tscn b/scenes/origin_gravity_demo/objects/instructions_2d.tscn
index 6cc9faad..a708868f 100644
--- a/scenes/origin_gravity_demo/objects/instructions_2d.tscn
+++ b/scenes/origin_gravity_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://n6t8uyds2dft"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Origin Gravity Demo
This scene demonstrates walking on non-flat surfaces.
diff --git a/scenes/origin_gravity_demo/objects/pill_orient.tscn b/scenes/origin_gravity_demo/objects/pill_orient.tscn
index 0421ce05..2578d9d8 100644
--- a/scenes/origin_gravity_demo/objects/pill_orient.tscn
+++ b/scenes/origin_gravity_demo/objects/pill_orient.tscn
@@ -1,38 +1,44 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://dk3jcnbypkiml"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=2]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="2"]
-[sub_resource type="CapsuleMesh" id=4]
+[sub_resource type="CapsuleMesh" id="4"]
+material = ExtResource("2")
radius = 7.0
-mid_height = 7.0
+height = 21.0
radial_segments = 32
-[sub_resource type="CapsuleShape" id=5]
+[sub_resource type="CapsuleShape3D" id="5"]
radius = 7.0
-height = 7.0
+height = 21.0
-[sub_resource type="CapsuleShape" id=9]
+[sub_resource type="CapsuleShape3D" id="9"]
radius = 9.0
-height = 7.0
+height = 25.0
-[node name="PillOrient" type="Spatial"]
+[node name="PillOrient" type="Node3D"]
-[node name="Body" type="StaticBody" parent="."]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0 )
+[node name="Body" type="StaticBody3D" parent="."]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 0)
collision_layer = 8
collision_mask = 0
-[node name="MeshInstance" type="MeshInstance" parent="Body"]
-mesh = SubResource( 4 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance" type="MeshInstance3D" parent="Body"]
+transform = Transform3D(1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, -1, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0)
+mesh = SubResource("4")
-[node name="CollisionShape" type="CollisionShape" parent="Body"]
-shape = SubResource( 5 )
+[node name="CollisionShape" type="CollisionShape3D" parent="Body"]
+transform = Transform3D(1, -4.37114e-08, 4.37114e-08, 4.37114e-08, -4.37114e-08, -1, 4.37114e-08, 1, -4.37114e-08, 0, 0, 0)
+shape = SubResource("5")
-[node name="Gravity" type="Area" parent="."]
-space_override = 3
+[node name="Gravity" type="Area3D" parent="."]
+collision_layer = 0
+collision_mask = 524292
+gravity_space_override = 3
gravity_point = true
+gravity_point_center = Vector3(0, 0, 0)
+gravity_direction = Vector3(0, 0, 0)
-[node name="CollisionShape" type="CollisionShape" parent="Gravity"]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 )
-shape = SubResource( 9 )
+[node name="CollisionShape" type="CollisionShape3D" parent="Gravity"]
+transform = Transform3D(1.91069e-15, 1, 4.37114e-08, 4.37114e-08, -4.37114e-08, 1, 1, 0, -4.37114e-08, 0, 0, 0)
+shape = SubResource("9")
diff --git a/scenes/origin_gravity_demo/objects/sphere_orient.tscn b/scenes/origin_gravity_demo/objects/sphere_orient.tscn
index b80de5d0..5fbe027a 100644
--- a/scenes/origin_gravity_demo/objects/sphere_orient.tscn
+++ b/scenes/origin_gravity_demo/objects/sphere_orient.tscn
@@ -1,34 +1,38 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://bnu45wudmhdse"]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"]
-[sub_resource type="SphereMesh" id=2]
+[sub_resource type="SphereMesh" id="2"]
+material = ExtResource("2")
radius = 10.0
height = 20.0
-[sub_resource type="SphereShape" id=3]
+[sub_resource type="SphereShape3D" id="3"]
radius = 10.0
-[sub_resource type="SphereShape" id=8]
+[sub_resource type="SphereShape3D" id="8"]
radius = 15.0
-[node name="SphereOrient" type="Spatial"]
+[node name="SphereOrient" type="Node3D"]
-[node name="Body" type="StaticBody" parent="."]
+[node name="Body" type="StaticBody3D" parent="."]
collision_layer = 8
collision_mask = 0
-[node name="MeshInstance" type="MeshInstance" parent="Body"]
-mesh = SubResource( 2 )
+[node name="MeshInstance" type="MeshInstance3D" parent="Body"]
+mesh = SubResource("2")
skeleton = NodePath("../../..")
-material/0 = ExtResource( 2 )
-[node name="CollisionShape" type="CollisionShape" parent="Body"]
-shape = SubResource( 3 )
+[node name="CollisionShape" type="CollisionShape3D" parent="Body"]
+shape = SubResource("3")
-[node name="Gravity" type="Area" parent="."]
-space_override = 3
+[node name="Gravity" type="Area3D" parent="."]
+collision_layer = 0
+collision_mask = 524292
+gravity_space_override = 3
gravity_point = true
+gravity_point_center = Vector3(0, 0, 0)
+gravity_direction = Vector3(0, 0, 0)
-[node name="CollisionShape" type="CollisionShape" parent="Gravity"]
-shape = SubResource( 8 )
+[node name="CollisionShape" type="CollisionShape3D" parent="Gravity"]
+shape = SubResource("8")
diff --git a/scenes/origin_gravity_demo/origin_gravity_demo.png.import b/scenes/origin_gravity_demo/origin_gravity_demo.png.import
index 38e96cbd..962000e7 100644
--- a/scenes/origin_gravity_demo/origin_gravity_demo.png.import
+++ b/scenes/origin_gravity_demo/origin_gravity_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.stex"
-path.etc="res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc.stex"
+type="CompressedTexture2D"
+uid="uid://cr1l4g7btdyht"
+path.s3tc="res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.ctex"
+path.etc2="res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/origin_gravity_demo/origin_gravity_demo.png"
-dest_files=[ "res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.stex", "res://.import/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc.stex" ]
+dest_files=["res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.s3tc.ctex", "res://.godot/imported/origin_gravity_demo.png-d9ea68a2fdb85934db7bb07faa15248a.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/origin_gravity_demo/origin_gravity_demo.tscn b/scenes/origin_gravity_demo/origin_gravity_demo.tscn
index ef572244..46f7a01e 100644
--- a/scenes/origin_gravity_demo/origin_gravity_demo.tscn
+++ b/scenes/origin_gravity_demo/origin_gravity_demo.tscn
@@ -1,112 +1,110 @@
-[gd_scene load_steps=21 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" type="PackedScene" id=8]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=9]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=10]
-[ext_resource path="res://scenes/origin_gravity_demo/objects/pill_orient.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/origin_gravity_demo/objects/sphere_orient.tscn" type="PackedScene" id=12]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=13]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=14]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=15]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_flight.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/origin_gravity_demo/objects/instructions.tscn" type="PackedScene" id=19]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=21]
-
-[sub_resource type="Curve3D" id=6]
+[gd_scene load_steps=22 format=3 uid="uid://dyfx10nwe0oil"]
+
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="3"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" id="8"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="9"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://dk3jcnbypkiml" path="res://scenes/origin_gravity_demo/objects/pill_orient.tscn" id="11"]
+[ext_resource type="PackedScene" uid="uid://bnu45wudmhdse" path="res://scenes/origin_gravity_demo/objects/sphere_orient.tscn" id="12"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/player/player_body.gd" id="12_b8x5t"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://kyhaogt0a4q8" path="res://addons/godot-xr-tools/functions/movement_flight.tscn" id="18"]
+[ext_resource type="PackedScene" path="res://scenes/origin_gravity_demo/objects/instructions.tscn" id="19"]
+[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="21"]
+
+[sub_resource type="Curve3D" id="6"]
_data = {
-"points": PoolVector3Array( -4.24937, -1.06234, 0, 4.24937, 1.06234, 0, -28.8455, 28.3772, 22.046, -4.1528, 0.820904, 0, 4.1528, -0.820904, 0, -14.1804, 30.4904, 21.7814, -2.83784, 2.60267, 0.0372009, 2.83784, -2.60267, -0.0372009, -4.79844, 27.0269, 22.1809, 1.6403, 2.9682, -0.0173683, -1.6403, -2.9682, 0.0173683, -2.87687, 17.8878, 23.2453, 0.57946, 4.05622, 0, -0.57946, -4.05622, 0, -7.44255, 8.17148, 23.1395, -2.70415, 1.11063, 0, 2.70415, -1.11063, 0, -0.888668, 1.09893, 23.2599, -2.3209, -0.153747, -0.449579, 2.3209, 0.153747, 0.449579, 6.55866, -1.48348, 25.7184 ),
-"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0 )
+"points": PackedVector3Array(-4.24937, -1.06234, 0, 4.24937, 1.06234, 0, -28.8455, 28.3772, 22.046, -4.1528, 0.820904, 0, 4.1528, -0.820904, 0, -14.1804, 30.4904, 21.7814, -2.83784, 2.60267, 0.0372009, 2.83784, -2.60267, -0.0372009, -4.79844, 27.0269, 22.1809, 1.6403, 2.9682, -0.0173683, -1.6403, -2.9682, 0.0173683, -2.87687, 17.8878, 23.2453, 0.57946, 4.05622, 0, -0.57946, -4.05622, 0, -7.44255, 8.17148, 23.1395, -2.70415, 1.11063, 0, 2.70415, -1.11063, 0, -0.888668, 1.09893, 23.2599, -2.3209, -0.153747, -0.449579, 2.3209, 0.153747, 0.449579, 6.55866, -1.48348, 25.7184),
+"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0)
}
+point_count = 7
-[sub_resource type="Curve3D" id=1]
+[sub_resource type="Curve3D" id="1"]
bake_interval = 0.3
_data = {
-"points": PoolVector3Array( -0.71487, -1.87416, 1.71397, 0.71487, 1.87416, -1.71397, -21.7835, 21.1047, 22.9351, 1.79321, 2.0844, 5.63986, -1.79321, -2.0844, -5.63986, -17.503, 22.8378, 3.86977, 1.63235, 1.43539, 4.76624, -1.63235, -1.43539, -4.76624, -21.1288, 16.2403, -8.78015, -6.09683, 0.913348, 3.4931, 6.09683, -0.913348, -3.4931, -16.9968, 15.3497, -24.9826, -1.11305, -0.695772, 2.12971, 1.11305, 0.695772, -2.12971, -1.5803, 19.8361, -28.6373 ),
-"tilts": PoolRealArray( 0, 0, 0, 0, 0 )
+"points": PackedVector3Array(-0.71487, -1.87416, 1.71397, 0.71487, 1.87416, -1.71397, -21.7835, 21.1047, 22.9351, 1.79321, 2.0844, 5.63986, -1.79321, -2.0844, -5.63986, -17.503, 22.8378, 3.86977, 1.63235, 1.43539, 4.76624, -1.63235, -1.43539, -4.76624, -21.1288, 16.2403, -8.78015, -6.09683, 0.913348, 3.4931, 6.09683, -0.913348, -3.4931, -16.9968, 15.3497, -24.9826, -1.11305, -0.695772, 2.12971, 1.11305, 0.695772, -2.12971, -1.5803, 19.8361, -28.6373),
+"tilts": PackedFloat32Array(0, 0, 0, 0, 0)
}
+point_count = 5
-[node name="OriginGravityDemo" instance=ExtResource( 1 )]
+[node name="OriginGravityDemo" instance=ExtResource("1")]
-[node name="ARVROrigin" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 36 )
+[node name="XROrigin3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 36)
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 13 )]
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("13")]
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
strafe = true
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")]
+jump_button_action = "ax_button"
-[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 21 )]
-crouch_button = 1
+[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("21")]
+crouch_button_action = "by_button"
-[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 15 )]
+[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("15")]
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 14 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("14")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 6 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("6")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 5 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("5")]
+jump_button_action = "ax_button"
-[node name="MovementSprint" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 15 )]
+[node name="MovementSprint" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("15")]
controller = 1
-[node name="MovementFlight" parent="ARVROrigin" index="3" instance=ExtResource( 18 )]
+[node name="MovementFlight" parent="XROrigin3D" index="3" instance=ExtResource("18")]
-[node name="MovementWallWalk" parent="ARVROrigin" index="4" instance=ExtResource( 8 )]
-follow_mask = 8
+[node name="MovementWallWalk" parent="XROrigin3D" index="4" instance=ExtResource("8")]
-[node name="PlayerBody" parent="ARVROrigin" index="5" instance=ExtResource( 4 )]
+[node name="PlayerBody" type="Node" parent="XROrigin3D" index="5" instance=ExtResource("4")]
+script = ExtResource("12_b8x5t")
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("2")]
-[node name="Teleport" parent="." index="2" instance=ExtResource( 10 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 44 )
+[node name="Teleport" parent="." index="2" instance=ExtResource("10")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 44)
scene_base = NodePath("..")
-title = ExtResource( 9 )
+title = ExtResource("9")
-[node name="Teleport2" parent="." index="3" instance=ExtResource( 10 )]
-transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 10.4, 19, -33 )
+[node name="Teleport2" parent="." index="3" instance=ExtResource("10")]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 10.4, 19, -33)
scene_base = NodePath("..")
-title = ExtResource( 9 )
+title = ExtResource("9")
-[node name="Instructions" parent="." index="4" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 29 )
+[node name="Instructions" parent="." index="4" instance=ExtResource("19")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 29)
-[node name="SphereOrient" parent="." index="5" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 20, 22 )
+[node name="SphereOrient" parent="." index="5" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 20, 22)
-[node name="PillOrient" parent="." index="6" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19, -33 )
+[node name="PillOrient" parent="." index="6" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 19, -33)
-[node name="Walkway1" type="Spatial" parent="." index="7"]
+[node name="Walkway1" type="Node3D" parent="." index="7"]
-[node name="Path" type="Path" parent="Walkway1" index="0"]
-curve = SubResource( 6 )
+[node name="Path" type="Path3D" parent="Walkway1" index="0"]
+curve = SubResource("6")
-[node name="Body" type="CSGPolygon" parent="Walkway1" index="1"]
+[node name="Body" type="CSGPolygon3D" parent="Walkway1" index="1"]
use_collision = true
collision_layer = 8
collision_mask = 0
-polygon = PoolVector2Array( -4, 0, -3.7, 0.7, -3, 1, 3, 1, 3.7, 0.7, 4, 0, 3.7, -0.7, 3, -1, -3, -1, -3.7, -0.7 )
+polygon = PackedVector2Array(-4, 0, -3.7, 0.7, -3, 1, 3, 1, 3.7, 0.7, 4, 0, 3.7, -0.7, 3, -1, -3, -1, -3.7, -0.7)
mode = 2
path_node = NodePath("../Path")
path_interval_type = 0
@@ -117,18 +115,18 @@ path_local = false
path_continuous_u = true
path_u_distance = 1.0
path_joined = false
-material = ExtResource( 3 )
+material = ExtResource("3")
-[node name="Walkway2" type="Spatial" parent="." index="8"]
+[node name="Walkway2" type="Node3D" parent="." index="8"]
-[node name="Path" type="Path" parent="Walkway2" index="0"]
-curve = SubResource( 1 )
+[node name="Path" type="Path3D" parent="Walkway2" index="0"]
+curve = SubResource("1")
-[node name="Body" type="CSGPolygon" parent="Walkway2" index="1"]
+[node name="Body" type="CSGPolygon3D" parent="Walkway2" index="1"]
use_collision = true
collision_layer = 8
collision_mask = 0
-polygon = PoolVector2Array( 0, -4, 0.7, -3.7, 1, -3, 1, 3, 0.7, 3.7, 0, 4, -0.7, 3.7, -1, 3, -1, -3, -0.7, -3.7 )
+polygon = PackedVector2Array(0, -4, 0.7, -3.7, 1, -3, 1, 3, 0.7, 3.7, 0, 4, -0.7, 3.7, -1, 3, -1, -3, -0.7, -3.7)
mode = 2
path_node = NodePath("../Path")
path_interval_type = 0
@@ -139,4 +137,4 @@ path_local = false
path_continuous_u = true
path_u_distance = 1.0
path_joined = false
-material = ExtResource( 3 )
+material = ExtResource("3")
diff --git a/scenes/pickable_demo/objects/belt_snap_zone.tscn b/scenes/pickable_demo/objects/belt_snap_zone.tscn
index b62a637f..a45bcfc3 100644
--- a/scenes/pickable_demo/objects/belt_snap_zone.tscn
+++ b/scenes/pickable_demo/objects/belt_snap_zone.tscn
@@ -1,25 +1,24 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://1mb16xioom74"]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1_uw6wt"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2_ckbje"]
-[sub_resource type="SpatialMaterial" id=1]
-flags_transparent = true
-params_cull_mode = 1
-albedo_color = Color( 0.0627451, 0.905882, 0.886275, 0.545098 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kcuek"]
+transparency = 1
+cull_mode = 1
+albedo_color = Color(0.0627451, 0.905882, 0.886275, 0.545098)
-[sub_resource type="SphereMesh" id=2]
-material = SubResource( 1 )
+[sub_resource type="SphereMesh" id="SphereMesh_vvg7m"]
+material = SubResource("StandardMaterial3D_kcuek")
radius = 0.05
height = 0.1
radial_segments = 32
rings = 16
-[node name="BeltSnapZone" instance=ExtResource( 2 )]
+[node name="BeltSnapZone" instance=ExtResource("1_uw6wt")]
grab_distance = 0.1
-[node name="Sphere" type="MeshInstance" parent="." index="1"]
-cast_shadow = 0
-mesh = SubResource( 2 )
+[node name="Sphere" type="MeshInstance3D" parent="." index="1"]
+mesh = SubResource("SphereMesh_vvg7m")
-[node name="HighlightRing" parent="." index="2" instance=ExtResource( 1 )]
+[node name="HighlightRing" parent="." index="2" instance=ExtResource("2_ckbje")]
diff --git a/scenes/pickable_demo/objects/grab_ball.tscn b/scenes/pickable_demo/objects/grab_ball.tscn
index 1b9aa238..be5ee7f3 100644
--- a/scenes/pickable_demo/objects/grab_ball.tscn
+++ b/scenes/pickable_demo/objects/grab_ball.tscn
@@ -1,53 +1,54 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=10 format=3 uid="uid://clta811tt773x"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd" type="Script" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=5]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
+[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_qhto0"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/highlight/highlight_visible.gd" id="3"]
+[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="3_0q4lf"]
-[sub_resource type="SphereShape" id=2]
+[sub_resource type="SphereShape3D" id="2"]
margin = 0.01
radius = 0.2
-[sub_resource type="SphereMesh" id=3]
+[sub_resource type="SphereMesh" id="3"]
radius = 0.2
height = 0.4
radial_segments = 16
rings = 7
-[sub_resource type="SphereMesh" id=4]
+[sub_resource type="SphereMesh" id="4"]
flip_faces = true
radius = 0.21
height = 0.42
radial_segments = 16
rings = 7
-[sub_resource type="SpatialMaterial" id=5]
-flags_unshaded = true
-albedo_color = Color( 1, 1, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qeoic"]
+shading_mode = 0
+albedo_color = Color(1, 1, 0, 1)
-[node name="GrabBall" instance=ExtResource( 1 )]
+[node name="GrabBall" instance=ExtResource("1")]
collision_mask = 720903
ranged_grab_method = 2
-[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.19, 0.04, -0.065 )
+[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource("2_qhto0")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.19, 0.04, -0.065)
-[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.19, 0.04, -0.065 )
+[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource("3_0q4lf")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.19, 0.04, -0.065)
+visible = true
-[node name="CollisionShape" parent="." index="2"]
-shape = SubResource( 2 )
+[node name="CollisionShape3D" parent="." index="2"]
+shape = SubResource("2")
-[node name="MeshInstance" type="MeshInstance" parent="." index="3"]
-mesh = SubResource( 3 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="3"]
+mesh = SubResource("3")
+surface_material_override/0 = ExtResource("2")
-[node name="GrabHighlight" type="Spatial" parent="." index="4"]
-script = ExtResource( 3 )
+[node name="GrabHighlight" type="Node3D" parent="." index="4"]
+script = ExtResource("3")
-[node name="MeshInstance" type="MeshInstance" parent="GrabHighlight" index="0"]
-mesh = SubResource( 4 )
-skeleton = NodePath("../../MeshInstance")
-material/0 = SubResource( 5 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="GrabHighlight" index="0"]
+mesh = SubResource("4")
+skeleton = NodePath("../../MeshInstance3D")
+surface_material_override/0 = SubResource("StandardMaterial3D_qeoic")
diff --git a/scenes/pickable_demo/objects/grab_cube.gd b/scenes/pickable_demo/objects/grab_cube.gd
index b9da0386..a206462c 100644
--- a/scenes/pickable_demo/objects/grab_cube.gd
+++ b/scenes/pickable_demo/objects/grab_cube.gd
@@ -2,24 +2,27 @@ extends XRToolsPickable
## Alternate material when button pressed
-export var alternate_material : Material
+@export var alternate_material : Material
# Original material
var _original_material : Material
# Current controller holding this object
-var _current_controller : ARVRController
+var _current_controller : XRController3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
+ # Call the super
+ super()
+
# Get the original material
- _original_material = $MeshInstance.get_active_material(0)
+ _original_material = $MeshInstance3D.get_active_material(0)
# Listen for when this object is picked up or dropped
- connect("picked_up", self, "_on_picked_up")
- connect("dropped", self, "_on_dropped")
+ picked_up.connect(_on_picked_up)
+ dropped.connect(_on_dropped)
# Called when this object is picked up
@@ -27,34 +30,34 @@ func _on_picked_up(_pickable) -> void:
# Listen for button events on the associated controller
_current_controller = get_picked_up_by_controller()
if _current_controller:
- _current_controller.connect("button_pressed", self, "_on_controller_button_pressed")
- _current_controller.connect("button_release", self, "_on_controller_button_released")
+ _current_controller.button_pressed.connect(_on_controller_button_pressed)
+ _current_controller.button_released.connect(_on_controller_button_released)
# Called when this object is dropped
func _on_dropped(_pickable) -> void:
# Unsubscribe to controller button events when dropped
if _current_controller:
- _current_controller.disconnect("button_pressed", self, "_on_controller_button_pressed")
- _current_controller.disconnect("button_release", self, "_on_controller_button_released")
+ _current_controller.button_pressed.disconnect(_on_controller_button_pressed)
+ _current_controller.button_released.disconnect(_on_controller_button_released)
_current_controller = null
# Restore original material when dropped
- $MeshInstance.set_surface_material(0, _original_material)
+ $MeshInstance3D.set_surface_override_material(0, _original_material)
# Called when a controller button is pressed
-func _on_controller_button_pressed(button : int):
+func _on_controller_button_pressed(button : String):
# Handle controller button presses
- if button == XRTools.Buttons.VR_BUTTON_AX:
+ if button == "ax_button":
# Set alternate material when button pressed
if alternate_material:
- $MeshInstance.set_surface_material(0, alternate_material)
+ $MeshInstance3D.set_surface_override_material(0, alternate_material)
# Called when a controller button is released
-func _on_controller_button_released(button : int):
+func _on_controller_button_released(button : String):
# Handle controller button releases
- if button == XRTools.Buttons.VR_BUTTON_AX:
+ if button == "ax_button":
# Restore original material when button released
- $MeshInstance.set_surface_material(0, _original_material)
+ $MeshInstance3D.set_surface_override_material(0, _original_material)
diff --git a/scenes/pickable_demo/objects/grab_cube.tscn b/scenes/pickable_demo/objects/grab_cube.tscn
index f73e487b..9f6b537c 100644
--- a/scenes/pickable_demo/objects/grab_cube.tscn
+++ b/scenes/pickable_demo/objects/grab_cube.tscn
@@ -1,27 +1,28 @@
-[gd_scene load_steps=8 format=2]
+[gd_scene load_steps=8 format=3 uid="uid://djkjuy7wct10q"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=3]
-[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.gd" type="Script" id=4]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=5]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"]
+[ext_resource type="Script" path="res://scenes/pickable_demo/objects/grab_cube.gd" id="2_xxt38"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="3"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="3_g1dne"]
-[sub_resource type="BoxShape" id=7]
+[sub_resource type="BoxShape3D" id="7"]
margin = 0.01
-extents = Vector3( 0.05, 0.05, 0.05 )
+size = Vector3(0.1, 0.1, 0.1)
-[sub_resource type="CubeMesh" id=8]
-size = Vector3( 0.1, 0.1, 0.1 )
+[sub_resource type="BoxMesh" id="8"]
+size = Vector3(0.1, 0.1, 0.1)
-[node name="GrabCube" instance=ExtResource( 1 )]
-script = ExtResource( 4 )
-alternate_material = ExtResource( 5 )
+[node name="GrabCube" instance=ExtResource("1")]
+script = ExtResource("2_xxt38")
+alternate_material = ExtResource("3_g1dne")
+ranged_grab_method = 0
-[node name="CollisionShape" parent="." index="0"]
-shape = SubResource( 7 )
+[node name="CollisionShape3D" parent="." index="0"]
+shape = SubResource("7")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-mesh = SubResource( 8 )
-material/0 = ExtResource( 3 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="1"]
+mesh = SubResource("8")
+surface_material_override/0 = ExtResource("3")
-[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )]
+[node name="HighlightRing" parent="." index="2" instance=ExtResource("2")]
diff --git a/scenes/pickable_demo/objects/hammer.tscn b/scenes/pickable_demo/objects/hammer.tscn
index 31716d08..eb1675a2 100644
--- a/scenes/pickable_demo/objects/hammer.tscn
+++ b/scenes/pickable_demo/objects/hammer.tscn
@@ -1,61 +1,60 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://de0guxhrn5ouk"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=6]
-[ext_resource path="res://scenes/pickable_demo/poses/pose_hammer_left.tres" type="Resource" id=7]
-[ext_resource path="res://scenes/pickable_demo/poses/pose_hammer_right.tres" type="Resource" id=8]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
+[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="2_2myoy"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="3"]
+[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="3_3xwvb"]
+[ext_resource type="Resource" uid="uid://dd4sqdg8upblx" path="res://scenes/pickable_demo/poses/pose_hammer_left.tres" id="3_p8dbs"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="4"]
+[ext_resource type="Resource" uid="uid://c7lps5l5dj652" path="res://scenes/pickable_demo/poses/pose_hammer_right.tres" id="5_tuke4"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 0.05, 0.05, 0.1 )
+[sub_resource type="BoxShape3D" id="1"]
+size = Vector3(0.1, 0.1, 0.2)
-[sub_resource type="CylinderShape" id=3]
+[sub_resource type="CylinderShape3D" id="3"]
height = 0.6
radius = 0.02
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
top_radius = 0.02
bottom_radius = 0.02
height = 0.6
radial_segments = 8
rings = 0
-[sub_resource type="CubeMesh" id=4]
-size = Vector3( 0.1, 0.1, 0.2 )
+[sub_resource type="BoxMesh" id="4"]
+size = Vector3(0.1, 0.1, 0.2)
-[node name="Hammer" instance=ExtResource( 1 )]
+[node name="Hammer" instance=ExtResource("1")]
collision_mask = 7
ranged_grab_method = 0
-[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource( 5 )]
-transform = Transform( -1, -8.74228e-08, 0, 8.58166e-08, -0.981627, 0.190809, -1.66811e-08, 0.190809, 0.981627, -0.007, 0.355, -0.071 )
-hand_pose = ExtResource( 7 )
+[node name="GrabPointHandLeft" parent="." index="0" instance=ExtResource("2_2myoy")]
+transform = Transform3D(-1, 8.74228e-08, 0, -8.58166e-08, -0.981627, 0.190809, 1.66811e-08, 0.190809, 0.981627, -0.007, 0.355, -0.071)
+hand_pose = ExtResource("3_p8dbs")
-[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource( 6 )]
-transform = Transform( -1, -8.74228e-08, 0, 8.58166e-08, -0.981627, 0.190809, -1.66811e-08, 0.190809, 0.981627, 0.00734175, 0.355408, -0.0707028 )
-hand_pose = ExtResource( 8 )
-editor_preview_mode = 2
+[node name="GrabPointHandRight" parent="." index="1" instance=ExtResource("3_3xwvb")]
+transform = Transform3D(-1, 8.74228e-08, 0, -8.58166e-08, -0.981627, 0.190809, 1.66811e-08, 0.190809, 0.981627, 0.007, 0.355, -0.071)
+hand_pose = ExtResource("5_tuke4")
-[node name="CollisionShape" parent="." index="2"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0 )
-shape = SubResource( 1 )
+[node name="CollisionShape3D" parent="." index="2"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0)
+shape = SubResource("1")
-[node name="CollisionShape2" type="CollisionShape" parent="." index="3"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 )
-shape = SubResource( 3 )
+[node name="CollisionShape2" type="CollisionShape3D" parent="." index="3"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
+shape = SubResource("3")
-[node name="Handle" type="MeshInstance" parent="." index="4"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 2 )
+[node name="Handle" type="MeshInstance3D" parent="." index="4"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2, 0)
+mesh = SubResource("2")
+surface_material_override/0 = ExtResource("2")
-[node name="MeshInstance" type="MeshInstance" parent="." index="5"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0 )
-mesh = SubResource( 4 )
-material/0 = ExtResource( 3 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="5"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.1, 0)
+mesh = SubResource("4")
+surface_material_override/0 = ExtResource("3")
-[node name="HighlightRing" parent="." index="6" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0 )
+[node name="HighlightRing" parent="." index="6" instance=ExtResource("4")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
diff --git a/scenes/pickable_demo/objects/instructions_2d.tscn b/scenes/pickable_demo/objects/instructions_2d.tscn
index beb43b92..73dd0026 100644
--- a/scenes/pickable_demo/objects/instructions_2d.tscn
+++ b/scenes/pickable_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://d0a7u3r7mcoqb"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Pickable Demo
This scene contains objects that the player can pick up including:
diff --git a/scenes/pickable_demo/objects/knife.gd b/scenes/pickable_demo/objects/knife.gd
index e4622056..39e86b7b 100644
--- a/scenes/pickable_demo/objects/knife.gd
+++ b/scenes/pickable_demo/objects/knife.gd
@@ -3,14 +3,17 @@ extends XRToolsPickable
# Current controller holding this object
-var _current_controller : ARVRController
+var _current_controller : XRController3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
+ # In Godot 4 we must now manually call our super class ready function
+ super()
+
# Listen for when this object is picked up or dropped
- connect("picked_up", self, "_on_picked_up")
- connect("dropped", self, "_on_dropped")
+ picked_up.connect(_on_picked_up)
+ dropped.connect(_on_dropped)
# Called when this object is picked up
@@ -18,21 +21,21 @@ func _on_picked_up(_pickable) -> void:
# Listen for button events on the associated controller
_current_controller = get_picked_up_by_controller()
if _current_controller:
- _current_controller.connect("button_pressed", self, "_on_controller_button_pressed")
+ _current_controller.button_pressed.connect(_on_controller_button_pressed)
# Called when this object is dropped
func _on_dropped(_pickable) -> void:
# Unsubscribe to controller button events when dropped
if _current_controller:
- _current_controller.disconnect("button_pressed", self, "_on_controller_button_pressed")
+ _current_controller.button_pressed.disconnect(_on_controller_button_pressed)
_current_controller = null
# Called when a controller button is pressed
-func _on_controller_button_pressed(button : int):
+func _on_controller_button_pressed(button : String):
# Skip if not pose-toggle button
- if button != XRTools.Buttons.VR_BUTTON_BY:
+ if button != "by_button":
return
# Switch the grab point
diff --git a/scenes/pickable_demo/objects/knife.tscn b/scenes/pickable_demo/objects/knife.tscn
index 1ae3c261..9d1a026e 100644
--- a/scenes/pickable_demo/objects/knife.tscn
+++ b/scenes/pickable_demo/objects/knife.tscn
@@ -1,72 +1,95 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=11 format=3 uid="uid://bxk2dud5pq1uf"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=5]
-[ext_resource path="res://scenes/pickable_demo/objects/knife.gd" type="Script" id=7]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=8]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="5"]
+[ext_resource type="Script" path="res://scenes/pickable_demo/objects/knife.gd" id="7"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="8"]
-[sub_resource type="SpatialMaterial" id=1]
-albedo_color = Color( 0.607843, 0.462745, 0.32549, 1 )
+[sub_resource type="StandardMaterial3D" id="1"]
+albedo_color = Color(0.607843, 0.462745, 0.32549, 1)
-[sub_resource type="SpatialMaterial" id=2]
+[sub_resource type="StandardMaterial3D" id="2"]
metallic = 0.5
metallic_specular = 0.8
roughness = 0.1
-[sub_resource type="ArrayMesh" id=3]
+[sub_resource type="ArrayMesh" id="ArrayMesh_v104j"]
+_surfaces = [{
+"aabb": AABB(-0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567),
+"format": 4097,
+"index_count": 198,
+"index_data": PackedByteArray(11, 0, 0, 0, 1, 0, 21, 0, 2, 0, 13, 0, 15, 0, 2, 0, 3, 0, 8, 0, 29, 0, 0, 0, 17, 0, 3, 0, 2, 0, 28, 0, 4, 0, 5, 0, 5, 0, 9, 0, 10, 0, 10, 0, 8, 0, 11, 0, 6, 0, 20, 0, 12, 0, 12, 0, 21, 0, 13, 0, 7, 0, 12, 0, 14, 0, 14, 0, 13, 0, 15, 0, 25, 0, 9, 0, 4, 0, 9, 0, 31, 0, 8, 0, 21, 0, 24, 0, 17, 0, 23, 0, 3, 0, 19, 0, 24, 0, 19, 0, 17, 0, 6, 0, 18, 0, 16, 0, 16, 0, 26, 0, 20, 0, 20, 0, 27, 0, 21, 0, 7, 0, 22, 0, 18, 0, 22, 0, 15, 0, 23, 0, 31, 0, 19, 0, 29, 0, 16, 0, 25, 0, 28, 0, 25, 0, 22, 0, 30, 0, 30, 0, 23, 0, 31, 0, 11, 0, 24, 0, 27, 0, 1, 0, 29, 0, 24, 0, 28, 0, 10, 0, 26, 0, 26, 0, 11, 0, 27, 0, 39, 0, 32, 0, 33, 0, 37, 0, 35, 0, 38, 0, 38, 0, 36, 0, 39, 0, 8, 0, 0, 0, 11, 0, 17, 0, 2, 0, 21, 0, 13, 0, 2, 0, 15, 0, 31, 0, 29, 0, 8, 0, 19, 0, 3, 0, 17, 0, 25, 0, 4, 0, 28, 0, 4, 0, 9, 0, 5, 0, 9, 0, 8, 0, 10, 0, 16, 0, 20, 0, 6, 0, 20, 0, 21, 0, 12, 0, 6, 0, 12, 0, 7, 0, 12, 0, 13, 0, 14, 0, 30, 0, 9, 0, 25, 0, 30, 0, 31, 0, 9, 0, 27, 0, 24, 0, 21, 0, 15, 0, 3, 0, 23, 0, 29, 0, 19, 0, 24, 0, 7, 0, 18, 0, 6, 0, 28, 0, 26, 0, 16, 0, 26, 0, 27, 0, 20, 0, 14, 0, 22, 0, 7, 0, 14, 0, 15, 0, 22, 0, 23, 0, 19, 0, 31, 0, 18, 0, 25, 0, 16, 0, 18, 0, 22, 0, 25, 0, 22, 0, 23, 0, 30, 0, 1, 0, 24, 0, 11, 0, 0, 0, 29, 0, 1, 0, 5, 0, 10, 0, 28, 0, 10, 0, 11, 0, 26, 0, 36, 0, 32, 0, 39, 0, 34, 0, 35, 0, 37, 0, 35, 0, 36, 0, 38, 0),
+"lods": [0.0036423, PackedByteArray(11, 0, 0, 0, 1, 0, 8, 0, 0, 0, 11, 0, 15, 0, 2, 0, 3, 0, 12, 0, 2, 0, 15, 0, 7, 0, 12, 0, 15, 0, 6, 0, 12, 0, 7, 0, 8, 0, 29, 0, 0, 0, 25, 0, 29, 0, 8, 0, 25, 0, 8, 0, 4, 0, 25, 0, 3, 0, 29, 0, 15, 0, 3, 0, 25, 0, 15, 0, 25, 0, 7, 0, 17, 0, 3, 0, 2, 0, 29, 0, 3, 0, 17, 0, 1, 0, 29, 0, 17, 0, 0, 0, 29, 0, 1, 0, 28, 0, 4, 0, 5, 0, 25, 0, 4, 0, 28, 0, 6, 0, 25, 0, 28, 0, 7, 0, 25, 0, 6, 0, 5, 0, 8, 0, 11, 0, 4, 0, 8, 0, 5, 0, 39, 0, 32, 0, 33, 0, 36, 0, 32, 0, 39, 0, 38, 0, 36, 0, 39, 0, 35, 0, 36, 0, 38, 0, 37, 0, 35, 0, 38, 0, 34, 0, 35, 0, 37, 0, 17, 0, 2, 0, 12, 0, 11, 0, 17, 0, 12, 0, 1, 0, 17, 0, 11, 0, 28, 0, 11, 0, 12, 0, 5, 0, 11, 0, 28, 0, 28, 0, 12, 0, 6, 0)],
+"primitive": 3,
+"vertex_count": 40,
+"vertex_data": PackedByteArray(236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58)
+}, {
+"aabb": AABB(-0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404),
+"format": 4097,
+"index_count": 54,
+"index_data": PackedByteArray(9, 0, 3, 0, 12, 0, 7, 0, 11, 0, 10, 0, 8, 0, 12, 0, 11, 0, 1, 0, 3, 0, 2, 0, 4, 0, 14, 0, 10, 0, 4, 0, 0, 0, 14, 0, 3, 0, 6, 0, 12, 0, 12, 0, 5, 0, 11, 0, 11, 0, 4, 0, 10, 0, 2, 0, 3, 0, 9, 0, 8, 0, 11, 0, 7, 0, 9, 0, 12, 0, 8, 0, 1, 0, 6, 0, 3, 0, 6, 0, 5, 0, 12, 0, 5, 0, 4, 0, 11, 0, 10, 0, 13, 0, 7, 0, 10, 0, 14, 0, 13, 0, 14, 0, 0, 0, 13, 0),
+"primitive": 3,
+"vertex_count": 15,
+"vertex_data": PackedByteArray(189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_anmh6"]
resource_name = "knife_Cube"
-surfaces/0 = {
-"aabb": AABB( -0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567 ),
-"array_data": PoolByteArray( 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 8, 138, 118, 67, 90, 41, 37, 57, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 0, 0, 126, 63, 141, 44, 217, 59, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 184, 202, 202, 99, 167, 53, 229, 56, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 8, 138, 118, 67, 90, 41, 163, 57, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 129, 127, 126, 63, 140, 44, 225, 57, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 184, 202, 202, 99, 167, 53, 103, 56, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 127, 0, 0, 127, 90, 57, 232, 56, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 244, 142, 114, 57, 172, 59, 163, 57, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 214, 57, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 127, 0, 0, 127, 90, 57, 107, 56, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 244, 142, 114, 57, 172, 59, 37, 57, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 228, 59, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 8, 118, 118, 59, 90, 41, 162, 57, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 0, 0, 126, 63, 140, 44, 225, 57, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 184, 54, 54, 99, 32, 57, 229, 56, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 8, 118, 118, 59, 90, 41, 36, 57, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 129, 127, 126, 63, 140, 44, 217, 59, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 184, 54, 54, 99, 32, 57, 103, 56, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 127, 0, 0, 126, 105, 59, 232, 56, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 244, 114, 114, 69, 172, 59, 36, 57, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 228, 59, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 127, 0, 0, 126, 105, 59, 107, 56, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 244, 114, 114, 69, 172, 59, 162, 57, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 213, 57, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 0, 0, 126, 63, 183, 32, 49, 59, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 129, 0, 0, 127, 76, 55, 229, 56, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 184, 202, 202, 99, 76, 55, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 0, 0, 126, 63, 179, 32, 137, 58, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 129, 0, 0, 127, 77, 56, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 184, 54, 54, 99, 77, 56, 229, 56, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 129, 127, 126, 63, 179, 32, 49, 59, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 129, 0, 0, 127, 77, 56, 103, 56, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 184, 54, 54, 99, 77, 56, 103, 56, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 129, 127, 126, 63, 179, 32, 137, 58, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 129, 0, 0, 127, 76, 55, 103, 56, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 184, 202, 202, 99, 76, 55, 103, 56, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 127, 0, 0, 126, 185, 58, 232, 56, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 53, 59, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 127, 0, 0, 126, 10, 58, 232, 56, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 127, 127, 126, 63, 229, 59, 133, 58, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 127, 0, 0, 126, 185, 58, 107, 56, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 132, 58, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 127, 0, 0, 126, 10, 58, 107, 56, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 0, 0, 126, 63, 229, 59, 52, 59, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 250, 120, 120, 66, 72, 58, 36, 57, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 189, 59, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 250, 136, 120, 60, 72, 58, 163, 57, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 127, 127, 127, 63, 130, 58, 253, 57, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 250, 120, 120, 66, 72, 58, 162, 57, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 0, 0, 126, 63, 130, 58, 253, 57, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 250, 136, 120, 60, 72, 58, 37, 57, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 0, 0, 126, 63, 131, 58, 188, 59, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 40, 59, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 127, 127, 126, 63, 130, 58, 146, 58, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 0, 0, 126, 63, 130, 58, 146, 58, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 0, 0, 126, 63, 131, 58, 39, 59, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 4, 134, 122, 65, 30, 51, 163, 57, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 253, 57, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 4, 122, 122, 61, 30, 51, 162, 57, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 253, 57, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 40, 59, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 129, 127, 126, 63, 4, 52, 146, 58, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 4, 122, 122, 61, 30, 51, 36, 57, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 129, 127, 127, 63, 4, 52, 189, 59, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 4, 134, 122, 65, 30, 51, 37, 57, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 0, 0, 126, 63, 5, 52, 188, 59, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 146, 58, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 0, 0, 126, 63, 4, 52, 39, 59, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 130, 0, 0, 63, 161, 31, 168, 34, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 130, 0, 0, 63, 131, 36, 168, 34, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 130, 0, 0, 63, 161, 31, 224, 47, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 130, 0, 0, 63, 161, 31, 135, 45, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 130, 0, 0, 63, 161, 31, 92, 42, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 130, 0, 0, 63, 131, 36, 224, 47, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 130, 0, 0, 63, 131, 36, 135, 45, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 130, 0, 0, 63, 131, 36, 92, 42 ),
-"array_index_data": PoolByteArray( 35, 0, 2, 0, 5, 0, 53, 0, 8, 0, 39, 0, 42, 0, 6, 0, 9, 0, 24, 0, 65, 0, 1, 0, 46, 0, 10, 0, 7, 0, 62, 0, 12, 0, 15, 0, 17, 0, 29, 0, 32, 0, 31, 0, 25, 0, 34, 0, 20, 0, 52, 0, 37, 0, 37, 0, 53, 0, 39, 0, 21, 0, 36, 0, 40, 0, 40, 0, 38, 0, 42, 0, 59, 0, 27, 0, 13, 0, 27, 0, 67, 0, 24, 0, 53, 0, 57, 0, 47, 0, 55, 0, 11, 0, 51, 0, 56, 0, 50, 0, 46, 0, 19, 0, 48, 0, 44, 0, 45, 0, 60, 0, 52, 0, 52, 0, 61, 0, 53, 0, 23, 0, 54, 0, 49, 0, 54, 0, 43, 0, 55, 0, 67, 0, 51, 0, 65, 0, 44, 0, 58, 0, 62, 0, 59, 0, 54, 0, 66, 0, 66, 0, 55, 0, 67, 0, 33, 0, 57, 0, 61, 0, 3, 0, 64, 0, 56, 0, 63, 0, 30, 0, 60, 0, 60, 0, 33, 0, 61, 0, 75, 0, 68, 0, 69, 0, 73, 0, 71, 0, 74, 0, 74, 0, 72, 0, 75, 0, 26, 0, 2, 0, 35, 0, 47, 0, 8, 0, 53, 0, 38, 0, 6, 0, 42, 0, 67, 0, 65, 0, 24, 0, 50, 0, 10, 0, 46, 0, 58, 0, 12, 0, 62, 0, 14, 0, 29, 0, 17, 0, 28, 0, 25, 0, 31, 0, 45, 0, 52, 0, 20, 0, 52, 0, 53, 0, 37, 0, 18, 0, 36, 0, 21, 0, 36, 0, 38, 0, 40, 0, 66, 0, 27, 0, 59, 0, 66, 0, 67, 0, 27, 0, 61, 0, 57, 0, 53, 0, 43, 0, 11, 0, 55, 0, 64, 0, 50, 0, 56, 0, 22, 0, 48, 0, 19, 0, 63, 0, 60, 0, 45, 0, 60, 0, 61, 0, 52, 0, 41, 0, 54, 0, 23, 0, 41, 0, 43, 0, 54, 0, 55, 0, 51, 0, 67, 0, 48, 0, 58, 0, 44, 0, 49, 0, 54, 0, 59, 0, 54, 0, 55, 0, 66, 0, 4, 0, 57, 0, 33, 0, 0, 0, 64, 0, 3, 0, 16, 0, 30, 0, 63, 0, 30, 0, 33, 0, 60, 0, 72, 0, 68, 0, 75, 0, 70, 0, 71, 0, 73, 0, 71, 0, 72, 0, 74, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.151323, -0.0185672, -0.00441226, 0.137108, 0.0360727, 0.00861567),
+"attribute_data": PackedByteArray(80, 87, 43, 61, 194, 190, 36, 63, 96, 178, 145, 61, 169, 36, 123, 63, 84, 244, 180, 62, 137, 173, 28, 63, 128, 87, 43, 61, 181, 116, 52, 63, 212, 148, 145, 61, 173, 54, 60, 63, 86, 244, 180, 62, 152, 247, 12, 63, 41, 86, 43, 63, 128, 29, 29, 63, 116, 148, 117, 63, 217, 116, 52, 63, 116, 168, 124, 63, 236, 192, 58, 63, 41, 86, 43, 63, 142, 103, 13, 63, 120, 148, 117, 63, 232, 190, 36, 63, 74, 172, 124, 63, 176, 133, 124, 63, 80, 87, 43, 61, 136, 78, 52, 63, 56, 134, 145, 61, 46, 53, 60, 63, 194, 9, 36, 63, 141, 173, 28, 63, 168, 87, 43, 61, 144, 152, 36, 63, 212, 148, 145, 61, 27, 38, 123, 63, 195, 9, 36, 63, 156, 247, 12, 63, 22, 49, 109, 63, 132, 29, 29, 63, 118, 148, 117, 63, 144, 152, 36, 63, 116, 168, 124, 63, 215, 155, 124, 63, 24, 49, 109, 63, 146, 103, 13, 63, 120, 148, 117, 63, 127, 78, 52, 63, 119, 166, 124, 63, 206, 170, 58, 63, 193, 227, 22, 60, 142, 43, 102, 63, 110, 137, 233, 62, 139, 173, 28, 63, 110, 137, 233, 62, 139, 173, 28, 63, 129, 109, 22, 60, 16, 49, 81, 63, 51, 191, 9, 63, 141, 173, 28, 63, 51, 191, 9, 63, 141, 173, 28, 63, 65, 110, 22, 60, 161, 43, 102, 63, 53, 191, 9, 63, 154, 247, 12, 63, 53, 191, 9, 63, 154, 247, 12, 63, 129, 109, 22, 60, 38, 49, 81, 63, 114, 137, 233, 62, 154, 247, 12, 63, 114, 137, 233, 62, 154, 247, 12, 63, 113, 61, 87, 63, 128, 29, 29, 63, 114, 168, 124, 63, 50, 168, 102, 63, 206, 73, 65, 63, 128, 29, 29, 63, 114, 168, 124, 63, 143, 180, 80, 63, 116, 61, 87, 63, 144, 103, 13, 63, 104, 168, 124, 63, 112, 158, 80, 63, 206, 73, 65, 63, 142, 103, 13, 63, 90, 170, 124, 63, 15, 146, 102, 63, 244, 3, 73, 63, 156, 152, 36, 63, 0, 95, 80, 63, 67, 164, 119, 63, 238, 3, 73, 63, 206, 116, 52, 63, 0, 95, 80, 63, 128, 184, 63, 63, 246, 3, 73, 63, 139, 78, 52, 63, 127, 93, 80, 63, 80, 166, 63, 63, 242, 3, 73, 63, 220, 190, 36, 63, 110, 98, 80, 63, 5, 146, 119, 63, 0, 95, 80, 63, 87, 0, 101, 63, 0, 95, 80, 63, 106, 92, 82, 63, 36, 95, 80, 63, 54, 74, 82, 63, 201, 96, 80, 63, 29, 238, 100, 63, 104, 199, 99, 62, 174, 116, 52, 63, 188, 153, 128, 62, 134, 184, 63, 63, 156, 199, 99, 62, 143, 78, 52, 63, 194, 150, 128, 62, 252, 178, 63, 63, 188, 153, 128, 62, 89, 0, 101, 63, 188, 153, 128, 62, 112, 92, 82, 63, 162, 199, 99, 62, 156, 152, 36, 63, 188, 153, 128, 62, 66, 164, 119, 63, 106, 199, 99, 62, 186, 190, 36, 63, 150, 160, 128, 62, 195, 158, 119, 63, 8, 154, 128, 62, 232, 86, 82, 63, 76, 157, 128, 62, 214, 250, 100, 63, 62, 60, 244, 59, 128, 5, 85, 60, 160, 105, 144, 60, 128, 5, 85, 60, 62, 60, 244, 59, 136, 24, 252, 61, 62, 60, 244, 59, 144, 240, 176, 61, 62, 60, 244, 59, 32, 145, 75, 61, 96, 105, 144, 60, 136, 24, 252, 61, 96, 105, 144, 60, 144, 240, 176, 61, 160, 105, 144, 60, 32, 145, 75, 61, 110, 137, 233, 62, 139, 173, 28, 63, 114, 137, 233, 62, 154, 247, 12, 63),
+"format": 4119,
"index_count": 198,
-"material": SubResource( 1 ),
+"index_data": PackedByteArray(35, 0, 2, 0, 5, 0, 53, 0, 8, 0, 39, 0, 42, 0, 6, 0, 9, 0, 24, 0, 65, 0, 1, 0, 46, 0, 10, 0, 7, 0, 62, 0, 12, 0, 15, 0, 17, 0, 29, 0, 32, 0, 31, 0, 25, 0, 34, 0, 20, 0, 52, 0, 37, 0, 37, 0, 53, 0, 39, 0, 21, 0, 36, 0, 40, 0, 40, 0, 38, 0, 42, 0, 59, 0, 27, 0, 13, 0, 27, 0, 67, 0, 24, 0, 53, 0, 57, 0, 47, 0, 55, 0, 11, 0, 51, 0, 56, 0, 50, 0, 46, 0, 19, 0, 48, 0, 44, 0, 45, 0, 60, 0, 52, 0, 52, 0, 61, 0, 53, 0, 23, 0, 54, 0, 49, 0, 54, 0, 43, 0, 55, 0, 67, 0, 51, 0, 65, 0, 44, 0, 58, 0, 62, 0, 59, 0, 54, 0, 66, 0, 66, 0, 55, 0, 67, 0, 33, 0, 57, 0, 61, 0, 3, 0, 64, 0, 56, 0, 63, 0, 30, 0, 60, 0, 60, 0, 33, 0, 61, 0, 75, 0, 68, 0, 69, 0, 73, 0, 71, 0, 74, 0, 74, 0, 72, 0, 75, 0, 26, 0, 2, 0, 35, 0, 47, 0, 8, 0, 53, 0, 38, 0, 6, 0, 42, 0, 67, 0, 65, 0, 24, 0, 50, 0, 10, 0, 46, 0, 58, 0, 12, 0, 62, 0, 14, 0, 29, 0, 17, 0, 28, 0, 25, 0, 31, 0, 45, 0, 52, 0, 20, 0, 52, 0, 53, 0, 37, 0, 18, 0, 36, 0, 21, 0, 36, 0, 38, 0, 40, 0, 66, 0, 27, 0, 59, 0, 66, 0, 67, 0, 27, 0, 61, 0, 57, 0, 53, 0, 43, 0, 11, 0, 55, 0, 64, 0, 50, 0, 56, 0, 22, 0, 48, 0, 19, 0, 63, 0, 60, 0, 45, 0, 60, 0, 61, 0, 52, 0, 41, 0, 54, 0, 23, 0, 41, 0, 43, 0, 54, 0, 55, 0, 51, 0, 67, 0, 48, 0, 58, 0, 44, 0, 49, 0, 54, 0, 59, 0, 54, 0, 55, 0, 66, 0, 4, 0, 57, 0, 33, 0, 0, 0, 64, 0, 3, 0, 16, 0, 30, 0, 63, 0, 30, 0, 33, 0, 60, 0, 72, 0, 68, 0, 75, 0, 70, 0, 71, 0, 73, 0, 71, 0, 72, 0, 74, 0),
+"lods": [0.0036423, PackedByteArray(34, 0, 2, 0, 5, 0, 25, 0, 2, 0, 34, 0, 42, 0, 6, 0, 9, 0, 36, 0, 6, 0, 42, 0, 21, 0, 36, 0, 42, 0, 18, 0, 36, 0, 21, 0, 24, 0, 65, 0, 1, 0, 59, 0, 65, 0, 24, 0, 59, 0, 24, 0, 13, 0, 59, 0, 11, 0, 65, 0, 43, 0, 11, 0, 59, 0, 43, 0, 59, 0, 23, 0, 46, 0, 10, 0, 7, 0, 64, 0, 10, 0, 46, 0, 3, 0, 64, 0, 46, 0, 0, 0, 64, 0, 3, 0, 62, 0, 12, 0, 15, 0, 58, 0, 12, 0, 62, 0, 19, 0, 58, 0, 62, 0, 22, 0, 58, 0, 19, 0, 17, 0, 76, 0, 77, 0, 14, 0, 76, 0, 17, 0, 75, 0, 68, 0, 69, 0, 72, 0, 68, 0, 75, 0, 74, 0, 72, 0, 75, 0, 71, 0, 72, 0, 74, 0, 73, 0, 71, 0, 74, 0, 70, 0, 71, 0, 73, 0, 47, 0, 8, 0, 37, 0, 33, 0, 47, 0, 37, 0, 4, 0, 47, 0, 33, 0, 63, 0, 33, 0, 37, 0, 16, 0, 33, 0, 63, 0, 63, 0, 37, 0, 20, 0)],
+"material": SubResource("1"),
"name": "Handle",
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 76
-}
-surfaces/1 = {
-"aabb": AABB( -0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404 ),
-"array_data": PoolByteArray( 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 125, 130, 125, 63, 25, 40, 117, 33, 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 0, 129, 126, 63, 242, 41, 88, 53, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 127, 126, 126, 63, 122, 40, 5, 49, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 0, 127, 127, 63, 144, 40, 116, 49, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 0, 127, 127, 63, 144, 40, 199, 49, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 0, 0, 127, 63, 193, 40, 96, 50, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 126, 130, 126, 63, 241, 59, 5, 49, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 0, 127, 127, 63, 242, 59, 157, 49, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 0, 0, 127, 63, 245, 59, 96, 50, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 126, 130, 126, 63, 122, 40, 18, 42, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 126, 130, 125, 63, 159, 40, 217, 41, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 126, 130, 126, 63, 122, 40, 95, 45, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 126, 130, 126, 63, 122, 40, 180, 47, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 126, 63, 193, 40, 240, 52, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 126, 63, 202, 40, 244, 52, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 0, 0, 127, 63, 193, 40, 91, 52, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 0, 0, 127, 63, 193, 40, 139, 51, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 125, 130, 126, 63, 174, 58, 18, 42, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 0, 255, 126, 63, 176, 58, 244, 52, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 125, 130, 126, 63, 177, 58, 244, 41, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 0, 255, 126, 63, 179, 58, 240, 52, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 125, 130, 126, 63, 80, 59, 95, 45, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 0, 255, 127, 63, 84, 59, 91, 52, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 126, 130, 126, 63, 176, 59, 180, 47, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 0, 0, 127, 63, 181, 59, 139, 51, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 0, 255, 126, 63, 175, 40, 137, 53, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 0, 129, 126, 63, 242, 41, 50, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 0, 129, 126, 63, 89, 57, 72, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 0, 255, 126, 63, 175, 57, 137, 53, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 125, 130, 126, 63, 175, 57, 144, 31 ),
-"array_index_data": PoolByteArray( 16, 0, 8, 0, 24, 0, 13, 0, 22, 0, 20, 0, 15, 0, 24, 0, 22, 0, 3, 0, 7, 0, 4, 0, 10, 0, 29, 0, 19, 0, 10, 0, 0, 0, 29, 0, 6, 0, 12, 0, 23, 0, 23, 0, 11, 0, 21, 0, 21, 0, 9, 0, 17, 0, 5, 0, 8, 0, 16, 0, 15, 0, 22, 0, 13, 0, 16, 0, 24, 0, 15, 0, 2, 0, 12, 0, 6, 0, 12, 0, 11, 0, 23, 0, 11, 0, 9, 0, 21, 0, 18, 0, 25, 0, 14, 0, 18, 0, 28, 0, 25, 0, 27, 0, 1, 0, 26, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+"primitive": 3,
+"vertex_count": 78,
+"vertex_data": PackedByteArray(236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 12, 137, 12, 9, 242, 246, 133, 196, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 31, 141, 145, 188, 223, 104, 137, 59, 20, 55, 234, 72, 234, 72, 116, 228, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 12, 137, 12, 9, 242, 246, 133, 196, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 236, 16, 18, 190, 31, 141, 145, 188, 176, 148, 144, 187, 20, 55, 234, 72, 234, 72, 116, 228, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 255, 255, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 22, 115, 232, 12, 22, 243, 139, 185, 106, 231, 104, 188, 50, 26, 152, 188, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 255, 255, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 22, 115, 232, 12, 22, 243, 139, 185, 106, 231, 104, 188, 50, 26, 152, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 12, 137, 242, 246, 242, 246, 120, 187, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 236, 16, 18, 190, 158, 218, 136, 60, 223, 104, 137, 59, 20, 55, 20, 183, 20, 183, 116, 228, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 12, 137, 242, 246, 242, 246, 120, 187, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 236, 16, 18, 190, 158, 218, 136, 60, 176, 148, 144, 187, 20, 55, 20, 183, 20, 183, 116, 228, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 22, 115, 22, 243, 22, 243, 115, 198, 106, 231, 104, 188, 177, 103, 143, 60, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 22, 115, 22, 243, 22, 243, 115, 198, 106, 231, 104, 188, 177, 103, 143, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 20, 55, 234, 72, 234, 72, 116, 228, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 38, 224, 170, 59, 223, 104, 137, 59, 20, 55, 20, 183, 20, 183, 116, 228, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 38, 224, 170, 59, 176, 148, 144, 187, 20, 55, 20, 183, 20, 183, 116, 228, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 0, 0, 255, 255, 254, 255, 255, 191, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 0, 0, 255, 127, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 20, 55, 234, 72, 234, 72, 116, 228, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 63, 156, 179, 59, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 67, 102, 214, 187, 176, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 63, 156, 179, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 255, 255, 255, 127, 255, 127, 254, 255, 106, 231, 104, 188, 67, 102, 214, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 56, 121, 56, 249, 56, 249, 98, 195, 187, 150, 29, 189, 149, 59, 114, 60, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 56, 121, 198, 6, 56, 249, 155, 188, 187, 150, 29, 189, 76, 208, 129, 188, 177, 148, 144, 187, 255, 255, 255, 255, 255, 255, 255, 191, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 56, 121, 56, 249, 56, 249, 98, 195, 187, 150, 29, 189, 149, 59, 114, 60, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 56, 121, 198, 6, 56, 249, 155, 188, 187, 150, 29, 189, 76, 208, 129, 188, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 98, 228, 149, 59, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 102, 174, 184, 187, 177, 148, 144, 187, 255, 255, 255, 255, 254, 255, 255, 191, 187, 150, 29, 189, 98, 228, 149, 59, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 187, 150, 29, 189, 102, 174, 184, 187, 223, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 174, 132, 175, 4, 79, 251, 86, 194, 248, 105, 240, 189, 76, 208, 129, 188, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 174, 132, 79, 251, 79, 251, 167, 189, 248, 105, 240, 189, 149, 59, 114, 60, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 98, 228, 149, 59, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 102, 174, 184, 187, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 174, 132, 79, 251, 79, 251, 167, 189, 248, 105, 240, 189, 149, 59, 114, 60, 177, 148, 144, 187, 0, 0, 255, 255, 255, 255, 255, 191, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 174, 132, 175, 4, 79, 251, 86, 194, 248, 105, 240, 189, 76, 208, 129, 188, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 98, 228, 149, 59, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 248, 105, 240, 189, 102, 174, 184, 187, 224, 104, 137, 59, 255, 127, 255, 127, 243, 255, 249, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 1, 0, 255, 127, 1, 128, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 1, 0, 255, 127, 1, 128, 255, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 0, 0, 255, 127, 255, 127, 255, 191, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 0, 0, 255, 127, 0, 128, 255, 191, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 1, 0, 255, 127, 0, 128, 255, 191, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 0, 0, 255, 127, 0, 128, 255, 191, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 0, 0, 255, 127, 0, 128, 255, 191, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 1, 0, 255, 127, 0, 128, 255, 191, 115, 244, 26, 190, 42, 170, 205, 187, 223, 104, 137, 59, 202, 34, 202, 162, 255, 127, 255, 255, 115, 244, 26, 190, 42, 170, 205, 187, 176, 148, 144, 187, 210, 40, 209, 168, 255, 127, 255, 255)
+}, {
+"aabb": AABB(-0.0180663, -0.0126189, -0.00107353, 0.161609, 0.0243487, 0.00173404),
+"attribute_data": PackedByteArray(167, 34, 3, 61, 128, 182, 46, 60, 120, 83, 62, 61, 244, 12, 171, 62, 248, 80, 15, 61, 140, 172, 32, 62, 8, 15, 18, 61, 116, 145, 46, 62, 160, 15, 18, 61, 184, 237, 56, 62, 56, 33, 24, 61, 196, 20, 76, 62, 175, 47, 126, 63, 140, 172, 32, 62, 139, 91, 126, 63, 152, 191, 51, 62, 164, 188, 126, 63, 196, 20, 76, 62, 32, 81, 15, 61, 48, 75, 66, 61, 158, 233, 19, 61, 176, 54, 59, 61, 32, 81, 15, 61, 112, 225, 171, 61, 248, 80, 15, 61, 64, 157, 246, 61, 240, 32, 24, 61, 68, 23, 158, 62, 118, 66, 25, 61, 64, 138, 158, 62, 8, 33, 24, 61, 76, 104, 139, 62, 16, 33, 24, 61, 176, 114, 113, 62, 159, 215, 85, 63, 48, 75, 66, 61, 5, 22, 86, 63, 40, 138, 158, 62, 201, 52, 86, 63, 240, 155, 62, 61, 152, 100, 86, 63, 68, 23, 158, 62, 166, 3, 106, 63, 112, 225, 171, 61, 157, 144, 106, 63, 76, 104, 139, 62, 18, 30, 118, 63, 64, 157, 246, 61, 8, 171, 118, 63, 176, 114, 113, 62, 47, 231, 21, 61, 130, 51, 177, 62, 96, 83, 62, 61, 108, 82, 166, 62, 232, 44, 43, 63, 186, 17, 169, 62, 148, 241, 53, 63, 94, 52, 177, 62, 246, 253, 53, 63, 0, 10, 242, 59),
+"format": 4119,
"index_count": 54,
-"material": SubResource( 2 ),
+"index_data": PackedByteArray(16, 0, 8, 0, 24, 0, 13, 0, 22, 0, 20, 0, 15, 0, 24, 0, 22, 0, 3, 0, 7, 0, 4, 0, 10, 0, 29, 0, 19, 0, 10, 0, 0, 0, 29, 0, 6, 0, 12, 0, 23, 0, 23, 0, 11, 0, 21, 0, 21, 0, 9, 0, 17, 0, 5, 0, 8, 0, 16, 0, 15, 0, 22, 0, 13, 0, 16, 0, 24, 0, 15, 0, 2, 0, 12, 0, 6, 0, 12, 0, 11, 0, 23, 0, 11, 0, 9, 0, 21, 0, 18, 0, 25, 0, 14, 0, 18, 0, 28, 0, 25, 0, 27, 0, 1, 0, 26, 0),
+"material": SubResource("2"),
"name": "Blade",
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 30
-}
+"primitive": 3,
+"vertex_count": 30,
+"vertex_data": PackedByteArray(189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 156, 254, 217, 0, 151, 254, 70, 192, 189, 255, 147, 188, 151, 191, 78, 188, 175, 181, 140, 186, 255, 127, 0, 0, 216, 255, 255, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 255, 255, 80, 255, 80, 255, 255, 191, 202, 255, 147, 188, 98, 46, 64, 60, 173, 181, 140, 186, 255, 127, 255, 255, 255, 255, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 255, 127, 255, 255, 255, 255, 255, 191, 154, 255, 147, 188, 98, 46, 64, 60, 236, 37, 45, 58, 174, 128, 255, 127, 255, 255, 167, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 177, 255, 177, 0, 77, 255, 255, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 255, 127, 255, 255, 255, 255, 255, 191, 243, 252, 18, 62, 96, 46, 64, 60, 8, 139, 88, 185, 176, 128, 177, 127, 255, 255, 166, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 70, 255, 203, 0, 50, 255, 255, 191, 189, 255, 147, 188, 53, 111, 230, 187, 175, 181, 140, 186, 70, 255, 203, 0, 171, 254, 67, 192, 192, 255, 147, 188, 99, 4, 76, 186, 175, 181, 140, 186, 251, 255, 182, 0, 72, 255, 255, 191, 199, 255, 147, 188, 27, 110, 179, 59, 173, 181, 140, 186, 254, 255, 176, 0, 78, 255, 255, 191, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 202, 128, 71, 127, 254, 255, 101, 192, 176, 255, 147, 188, 53, 111, 230, 187, 228, 37, 45, 58, 202, 128, 71, 127, 254, 255, 153, 191, 167, 255, 147, 188, 99, 4, 76, 186, 230, 37, 45, 58, 182, 128, 252, 127, 255, 255, 163, 191, 163, 255, 147, 188, 27, 110, 179, 59, 233, 37, 45, 58, 175, 128, 254, 127, 255, 255, 167, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 80, 254, 204, 0, 47, 255, 255, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 204, 128, 81, 126, 254, 255, 151, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 80, 254, 204, 0, 19, 255, 241, 191, 35, 234, 243, 61, 53, 111, 230, 187, 8, 139, 88, 185, 204, 128, 81, 126, 254, 255, 102, 192, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 246, 254, 188, 0, 65, 255, 255, 191, 55, 201, 7, 62, 99, 4, 76, 186, 8, 139, 88, 185, 187, 128, 247, 126, 255, 255, 160, 191, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 138, 255, 179, 0, 74, 255, 255, 191, 80, 21, 16, 62, 27, 110, 179, 59, 8, 139, 88, 185, 179, 128, 138, 127, 255, 255, 165, 191, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 217, 128, 156, 126, 254, 255, 109, 192, 176, 255, 147, 188, 151, 191, 78, 188, 228, 37, 45, 58, 255, 127, 0, 0, 216, 255, 255, 191, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 255, 127, 0, 0, 216, 255, 255, 191, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 217, 128, 156, 126, 254, 255, 109, 192, 7, 174, 206, 61, 151, 191, 78, 188, 8, 139, 88, 185, 156, 254, 217, 0, 9, 255, 242, 191)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_v104j")
-[sub_resource type="ConvexPolygonShape" id=4]
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_2tu7g"]
margin = 0.005
-points = PoolVector3Array( -0.0142231, 0.0175055, 0.00419341, -0.0142231, -0.0185672, 0.00419341, 0.143543, 0.0117288, -0.000207138, -0.0142231, 0.0175055, -0.00441226, -0.142664, 0.016704, 0.00419341, -0.0142231, -0.0185672, -0.00441226, 0.100912, -0.012621, -0.000207138, 0.119096, -0.00703494, -0.000207138, 0.132575, -0.00078154, -0.000207138, 0.140686, 0.00547539, -0.000207138, -0.142664, -0.0177692, 0.00419341, -0.142664, 0.016704, -0.00441226, -0.151323, 0.0052141, 0.00419341, -0.142664, -0.0177692, -0.00441226, -0.151323, -0.0062793, 0.00419341, -0.151323, 0.0052141, -0.00441226, -0.151323, -0.0062793, -0.00441226 )
+points = PackedVector3Array(-0.0142231, 0.0175055, 0.00419341, -0.0142231, -0.0185672, 0.00419341, 0.143543, 0.0117288, -0.000207138, -0.0142231, 0.0175055, -0.00441226, -0.142664, 0.016704, 0.00419341, -0.0142231, -0.0185672, -0.00441226, 0.100912, -0.012621, -0.000207138, 0.119096, -0.00703494, -0.000207138, 0.132575, -0.00078154, -0.000207138, 0.140686, 0.00547539, -0.000207138, -0.142664, -0.0177692, 0.00419341, -0.142664, 0.016704, -0.00441226, -0.151323, 0.0052141, 0.00419341, -0.142664, -0.0177692, -0.00441226, -0.151323, -0.0062793, 0.00419341, -0.151323, 0.0052141, -0.00441226, -0.151323, -0.0062793, -0.00441226)
-[node name="Knife" instance=ExtResource( 1 )]
-script = ExtResource( 7 )
+[node name="Knife" instance=ExtResource("1")]
+continuous_cd = true
+script = ExtResource("7")
-[node name="Knife" type="MeshInstance" parent="." index="0"]
-mesh = SubResource( 3 )
+[node name="Knife" type="MeshInstance3D" parent="." index="0"]
+mesh = SubResource("ArrayMesh_anmh6")
+skeleton = NodePath("")
-[node name="CollisionShape" parent="." index="1"]
-shape = SubResource( 4 )
+[node name="CollisionShape3D" parent="." index="1"]
+shape = SubResource("ConvexPolygonShape3D_2tu7g")
-[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource( 5 )]
-transform = Transform( -0.0412479, 0.99089, -0.128202, -5.60865e-09, 0.128311, 0.991734, 0.999149, 0.040907, -0.00529256, -0.0267695, -0.0835771, 0.0177133 )
+[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource("5")]
+transform = Transform3D(-0.0412479, 0.99089, -0.128202, -5.60865e-09, 0.128311, 0.991734, 0.999149, 0.040907, -0.00529256, -0.0267695, -0.0835771, 0.0177133)
-[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource( 4 )]
-transform = Transform( 0.0412479, 0.99089, -0.128202, 0, 0.128311, 0.991734, 0.999149, -0.0409069, 0.00529256, -0.027, -0.084, -0.018 )
+[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource("4")]
+transform = Transform3D(0.0412479, 0.99089, -0.128202, 0, 0.128311, 0.991734, 0.999149, -0.0409069, 0.00529256, -0.027, -0.084, -0.018)
-[node name="GrabPointGripLeft" parent="." index="4" instance=ExtResource( 5 )]
-transform = Transform( 0.0412478, -0.99089, 0.128202, -5.60865e-09, 0.128311, 0.991734, -0.999149, -0.0409069, 0.00529255, -0.136863, -0.084, -0.018 )
+[node name="GrabPointGripLeft" parent="." index="4" instance=ExtResource("5")]
+transform = Transform3D(0.0412478, -0.99089, 0.128202, -5.60865e-09, 0.128311, 0.991734, -0.999149, -0.0409069, 0.00529255, -0.136863, -0.084, -0.018)
-[node name="GrabPointGripRight" parent="." index="5" instance=ExtResource( 4 )]
-transform = Transform( -0.041248, -0.99089, 0.128202, 0, 0.128311, 0.991734, -0.999149, 0.040907, -0.00529257, -0.137, -0.084, 0.018 )
+[node name="GrabPointGripRight" parent="." index="5" instance=ExtResource("4")]
+transform = Transform3D(-0.041248, -0.99089, 0.128202, 0, 0.128311, 0.991734, -0.999149, 0.040907, -0.00529257, -0.137, -0.084, 0.018)
-[node name="HighlightRing" parent="." index="6" instance=ExtResource( 8 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0795496, 0, 0 )
+[node name="HighlightRing" parent="." index="6" instance=ExtResource("8")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0795496, 0, 0)
diff --git a/scenes/pickable_demo/objects/saucer.tscn b/scenes/pickable_demo/objects/saucer.tscn
index 377c54e0..12faa1c5 100644
--- a/scenes/pickable_demo/objects/saucer.tscn
+++ b/scenes/pickable_demo/objects/saucer.tscn
@@ -1,34 +1,55 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://gi3cc6cxi81j"]
-[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=1]
+[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1"]
+[ext_resource type="Material" path="res://scenes/pickable_demo/materials/porcelain.tres" id="1_ycnf3"]
-[sub_resource type="ArrayMesh" id=1]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3anyq"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_eeav4"]
+_surfaces = [{
+"aabb": AABB(-0.11, -0.004, -0.11, 0.22, 0.016, 0.22),
+"format": 4097,
+"index_count": 756,
+"index_data": PackedByteArray(24, 0, 86, 0, 22, 0, 24, 0, 88, 0, 86, 0, 57, 0, 123, 0, 59, 0, 57, 0, 121, 0, 123, 0, 6, 0, 68, 0, 4, 0, 6, 0, 70, 0, 68, 0, 39, 0, 105, 0, 41, 0, 39, 0, 103, 0, 105, 0, 58, 0, 120, 0, 56, 0, 58, 0, 122, 0, 120, 0, 21, 0, 87, 0, 23, 0, 21, 0, 85, 0, 87, 0, 40, 0, 102, 0, 38, 0, 40, 0, 104, 0, 102, 0, 3, 0, 69, 0, 5, 0, 3, 0, 66, 0, 69, 0, 22, 0, 84, 0, 20, 0, 22, 0, 86, 0, 84, 0, 55, 0, 121, 0, 57, 0, 55, 0, 119, 0, 121, 0, 4, 0, 65, 0, 2, 0, 4, 0, 68, 0, 65, 0, 37, 0, 103, 0, 39, 0, 37, 0, 101, 0, 103, 0, 56, 0, 118, 0, 54, 0, 56, 0, 120, 0, 118, 0, 19, 0, 85, 0, 21, 0, 19, 0, 83, 0, 85, 0, 38, 0, 100, 0, 36, 0, 38, 0, 102, 0, 100, 0, 20, 0, 82, 0, 18, 0, 20, 0, 84, 0, 82, 0, 53, 0, 119, 0, 55, 0, 53, 0, 117, 0, 119, 0, 1, 0, 66, 0, 3, 0, 1, 0, 67, 0, 66, 0, 35, 0, 101, 0, 37, 0, 35, 0, 99, 0, 101, 0, 54, 0, 116, 0, 52, 0, 54, 0, 118, 0, 116, 0, 2, 0, 64, 0, 0, 0, 2, 0, 65, 0, 64, 0, 17, 0, 83, 0, 19, 0, 17, 0, 81, 0, 83, 0, 36, 0, 98, 0, 34, 0, 36, 0, 100, 0, 98, 0, 18, 0, 80, 0, 16, 0, 18, 0, 82, 0, 80, 0, 51, 0, 117, 0, 53, 0, 51, 0, 115, 0, 117, 0, 33, 0, 99, 0, 35, 0, 33, 0, 97, 0, 99, 0, 52, 0, 114, 0, 50, 0, 52, 0, 116, 0, 114, 0, 15, 0, 81, 0, 17, 0, 15, 0, 79, 0, 81, 0, 34, 0, 96, 0, 32, 0, 34, 0, 98, 0, 96, 0, 16, 0, 78, 0, 14, 0, 16, 0, 80, 0, 78, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 115, 0, 51, 0, 49, 0, 113, 0, 115, 0, 31, 0, 97, 0, 33, 0, 31, 0, 95, 0, 97, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 66, 0, 67, 0, 64, 0, 65, 0, 66, 0, 65, 0, 69, 0, 66, 0, 65, 0, 68, 0, 69, 0, 68, 0, 71, 0, 69, 0, 68, 0, 70, 0, 71, 0, 70, 0, 73, 0, 71, 0, 70, 0, 72, 0, 73, 0, 72, 0, 75, 0, 73, 0, 72, 0, 74, 0, 75, 0, 74, 0, 77, 0, 75, 0, 74, 0, 76, 0, 77, 0, 76, 0, 79, 0, 77, 0, 76, 0, 78, 0, 79, 0, 78, 0, 81, 0, 79, 0, 78, 0, 80, 0, 81, 0, 80, 0, 83, 0, 81, 0, 80, 0, 82, 0, 83, 0, 82, 0, 85, 0, 83, 0, 82, 0, 84, 0, 85, 0, 84, 0, 87, 0, 85, 0, 84, 0, 86, 0, 87, 0, 86, 0, 89, 0, 87, 0, 86, 0, 88, 0, 89, 0, 88, 0, 91, 0, 89, 0, 88, 0, 90, 0, 91, 0, 90, 0, 93, 0, 91, 0, 90, 0, 92, 0, 93, 0, 92, 0, 95, 0, 93, 0, 92, 0, 94, 0, 95, 0, 94, 0, 97, 0, 95, 0, 94, 0, 96, 0, 97, 0, 96, 0, 99, 0, 97, 0, 96, 0, 98, 0, 99, 0, 98, 0, 101, 0, 99, 0, 98, 0, 100, 0, 101, 0, 100, 0, 103, 0, 101, 0, 100, 0, 102, 0, 103, 0, 102, 0, 105, 0, 103, 0, 102, 0, 104, 0, 105, 0, 104, 0, 107, 0, 105, 0, 104, 0, 106, 0, 107, 0, 106, 0, 109, 0, 107, 0, 106, 0, 108, 0, 109, 0, 108, 0, 111, 0, 109, 0, 108, 0, 110, 0, 111, 0, 110, 0, 113, 0, 111, 0, 110, 0, 112, 0, 113, 0, 112, 0, 115, 0, 113, 0, 112, 0, 114, 0, 115, 0, 114, 0, 117, 0, 115, 0, 114, 0, 116, 0, 117, 0, 116, 0, 119, 0, 117, 0, 116, 0, 118, 0, 119, 0, 118, 0, 121, 0, 119, 0, 118, 0, 120, 0, 121, 0, 120, 0, 123, 0, 121, 0, 120, 0, 122, 0, 123, 0, 122, 0, 125, 0, 123, 0, 122, 0, 124, 0, 125, 0, 124, 0, 127, 0, 125, 0, 124, 0, 126, 0, 127, 0, 126, 0, 67, 0, 127, 0, 126, 0, 64, 0, 67, 0, 5, 0, 71, 0, 7, 0, 5, 0, 69, 0, 71, 0, 42, 0, 104, 0, 40, 0, 42, 0, 106, 0, 104, 0, 23, 0, 89, 0, 25, 0, 23, 0, 87, 0, 89, 0, 60, 0, 122, 0, 58, 0, 60, 0, 124, 0, 122, 0, 41, 0, 107, 0, 43, 0, 41, 0, 105, 0, 107, 0, 8, 0, 70, 0, 6, 0, 8, 0, 72, 0, 70, 0, 59, 0, 125, 0, 61, 0, 59, 0, 123, 0, 125, 0, 26, 0, 88, 0, 24, 0, 26, 0, 90, 0, 88, 0, 7, 0, 73, 0, 9, 0, 7, 0, 71, 0, 73, 0, 44, 0, 106, 0, 42, 0, 44, 0, 108, 0, 106, 0, 25, 0, 91, 0, 27, 0, 25, 0, 89, 0, 91, 0, 62, 0, 124, 0, 60, 0, 62, 0, 126, 0, 124, 0, 43, 0, 109, 0, 45, 0, 43, 0, 107, 0, 109, 0, 10, 0, 72, 0, 8, 0, 10, 0, 74, 0, 72, 0, 61, 0, 127, 0, 63, 0, 61, 0, 125, 0, 127, 0, 28, 0, 90, 0, 26, 0, 28, 0, 92, 0, 90, 0, 9, 0, 75, 0, 11, 0, 9, 0, 73, 0, 75, 0, 46, 0, 108, 0, 44, 0, 46, 0, 110, 0, 108, 0, 27, 0, 93, 0, 29, 0, 27, 0, 91, 0, 93, 0, 0, 0, 126, 0, 62, 0, 0, 0, 64, 0, 126, 0, 45, 0, 111, 0, 47, 0, 45, 0, 109, 0, 111, 0, 12, 0, 74, 0, 10, 0, 12, 0, 76, 0, 74, 0, 63, 0, 67, 0, 1, 0, 63, 0, 127, 0, 67, 0, 30, 0, 92, 0, 28, 0, 30, 0, 94, 0, 92, 0, 11, 0, 77, 0, 13, 0, 11, 0, 75, 0, 77, 0, 48, 0, 110, 0, 46, 0, 48, 0, 112, 0, 110, 0, 29, 0, 95, 0, 31, 0, 29, 0, 93, 0, 95, 0, 47, 0, 113, 0, 49, 0, 47, 0, 111, 0, 113, 0, 14, 0, 76, 0, 12, 0, 14, 0, 78, 0, 76, 0, 32, 0, 94, 0, 30, 0, 32, 0, 96, 0, 94, 0, 13, 0, 79, 0, 15, 0, 13, 0, 77, 0, 79, 0, 50, 0, 112, 0, 48, 0, 50, 0, 114, 0, 112, 0),
+"lods": [0.00958653, PackedByteArray(71, 0, 66, 0, 69, 0, 71, 0, 67, 0, 66, 0, 71, 0, 73, 0, 75, 0, 71, 0, 75, 0, 77, 0, 71, 0, 77, 0, 79, 0, 71, 0, 79, 0, 81, 0, 121, 0, 67, 0, 71, 0, 121, 0, 127, 0, 67, 0, 121, 0, 125, 0, 127, 0, 121, 0, 123, 0, 125, 0, 71, 0, 81, 0, 87, 0, 87, 0, 81, 0, 83, 0, 87, 0, 83, 0, 85, 0, 121, 0, 117, 0, 119, 0, 121, 0, 115, 0, 117, 0, 121, 0, 113, 0, 115, 0, 71, 0, 105, 0, 121, 0, 105, 0, 113, 0, 121, 0, 105, 0, 71, 0, 87, 0, 105, 0, 111, 0, 113, 0, 105, 0, 109, 0, 111, 0, 105, 0, 107, 0, 109, 0, 105, 0, 101, 0, 103, 0, 105, 0, 99, 0, 101, 0, 105, 0, 97, 0, 99, 0, 87, 0, 97, 0, 105, 0, 87, 0, 95, 0, 97, 0, 87, 0, 93, 0, 95, 0, 87, 0, 91, 0, 93, 0, 87, 0, 89, 0, 91, 0, 72, 0, 65, 0, 120, 0, 120, 0, 65, 0, 126, 0, 72, 0, 70, 0, 65, 0, 72, 0, 78, 0, 76, 0, 72, 0, 82, 0, 78, 0, 88, 0, 82, 0, 72, 0, 120, 0, 88, 0, 72, 0, 88, 0, 86, 0, 82, 0, 120, 0, 118, 0, 114, 0, 120, 0, 114, 0, 104, 0, 88, 0, 120, 0, 104, 0, 104, 0, 114, 0, 112, 0, 104, 0, 112, 0, 110, 0, 104, 0, 98, 0, 88, 0, 88, 0, 98, 0, 94, 0, 104, 0, 102, 0, 98, 0, 65, 0, 66, 0, 67, 0, 65, 0, 69, 0, 66, 0, 126, 0, 65, 0, 67, 0, 65, 0, 70, 0, 69, 0, 126, 0, 67, 0, 127, 0, 70, 0, 71, 0, 69, 0, 126, 0, 127, 0, 125, 0, 70, 0, 73, 0, 71, 0, 120, 0, 126, 0, 125, 0, 70, 0, 72, 0, 73, 0, 120, 0, 125, 0, 123, 0, 72, 0, 75, 0, 73, 0, 120, 0, 123, 0, 121, 0, 72, 0, 77, 0, 75, 0, 118, 0, 120, 0, 121, 0, 72, 0, 76, 0, 77, 0, 118, 0, 121, 0, 119, 0, 76, 0, 79, 0, 77, 0, 118, 0, 119, 0, 117, 0, 76, 0, 78, 0, 79, 0, 114, 0, 118, 0, 117, 0, 78, 0, 81, 0, 79, 0, 114, 0, 117, 0, 115, 0, 78, 0, 82, 0, 81, 0, 112, 0, 114, 0, 115, 0, 82, 0, 83, 0, 81, 0, 112, 0, 115, 0, 113, 0, 82, 0, 85, 0, 83, 0, 110, 0, 112, 0, 113, 0, 82, 0, 86, 0, 85, 0, 110, 0, 113, 0, 111, 0, 86, 0, 87, 0, 85, 0, 110, 0, 111, 0, 109, 0, 86, 0, 89, 0, 87, 0, 104, 0, 110, 0, 109, 0, 86, 0, 88, 0, 89, 0, 104, 0, 109, 0, 107, 0, 88, 0, 91, 0, 89, 0, 104, 0, 107, 0, 105, 0, 88, 0, 93, 0, 91, 0, 102, 0, 104, 0, 105, 0, 88, 0, 94, 0, 93, 0, 102, 0, 105, 0, 103, 0, 94, 0, 95, 0, 93, 0, 102, 0, 103, 0, 101, 0, 94, 0, 97, 0, 95, 0, 98, 0, 102, 0, 101, 0, 94, 0, 98, 0, 97, 0, 98, 0, 101, 0, 99, 0, 98, 0, 99, 0, 97, 0), 0.0182738, PackedByteArray(105, 0, 99, 0, 103, 0, 87, 0, 99, 0, 105, 0, 87, 0, 95, 0, 99, 0, 87, 0, 91, 0, 95, 0, 105, 0, 71, 0, 87, 0, 71, 0, 83, 0, 87, 0, 71, 0, 79, 0, 83, 0, 71, 0, 75, 0, 79, 0, 71, 0, 105, 0, 121, 0, 121, 0, 67, 0, 71, 0, 121, 0, 127, 0, 67, 0, 105, 0, 115, 0, 121, 0, 121, 0, 115, 0, 119, 0, 105, 0, 111, 0, 115, 0, 114, 0, 65, 0, 64, 0, 114, 0, 64, 0, 126, 0, 65, 0, 80, 0, 76, 0, 65, 0, 84, 0, 80, 0, 114, 0, 84, 0, 65, 0, 84, 0, 114, 0, 98, 0, 98, 0, 114, 0, 110, 0, 84, 0, 98, 0, 94, 0, 64, 0, 65, 0, 67, 0, 126, 0, 64, 0, 67, 0, 65, 0, 71, 0, 67, 0, 126, 0, 67, 0, 127, 0, 65, 0, 75, 0, 71, 0, 65, 0, 79, 0, 75, 0, 65, 0, 76, 0, 79, 0, 76, 0, 80, 0, 79, 0, 80, 0, 83, 0, 79, 0, 114, 0, 126, 0, 127, 0, 114, 0, 127, 0, 121, 0, 114, 0, 121, 0, 119, 0, 114, 0, 119, 0, 115, 0, 110, 0, 114, 0, 115, 0, 110, 0, 115, 0, 111, 0, 80, 0, 84, 0, 83, 0, 84, 0, 87, 0, 83, 0, 84, 0, 91, 0, 87, 0, 84, 0, 95, 0, 91, 0, 84, 0, 94, 0, 95, 0, 94, 0, 99, 0, 95, 0, 98, 0, 110, 0, 111, 0, 94, 0, 98, 0, 99, 0, 98, 0, 111, 0, 105, 0, 98, 0, 103, 0, 99, 0, 98, 0, 105, 0, 103, 0), 0.0249856, PackedByteArray(100, 0, 84, 0, 65, 0, 114, 0, 100, 0, 65, 0, 71, 0, 105, 0, 121, 0, 105, 0, 71, 0, 87, 0, 65, 0, 71, 0, 121, 0, 65, 0, 84, 0, 71, 0, 114, 0, 65, 0, 121, 0, 84, 0, 87, 0, 71, 0, 114, 0, 121, 0, 105, 0, 84, 0, 100, 0, 87, 0, 100, 0, 114, 0, 105, 0, 100, 0, 105, 0, 87, 0), 0.0341249, PackedByteArray(100, 0, 84, 0, 65, 0, 65, 0, 84, 0, 76, 0, 110, 0, 100, 0, 65, 0, 71, 0, 83, 0, 87, 0, 87, 0, 95, 0, 103, 0, 87, 0, 103, 0, 105, 0, 105, 0, 71, 0, 87, 0, 71, 0, 105, 0, 121, 0, 105, 0, 119, 0, 121, 0, 121, 0, 127, 0, 71, 0, 65, 0, 71, 0, 127, 0, 65, 0, 83, 0, 71, 0, 65, 0, 76, 0, 83, 0, 76, 0, 84, 0, 83, 0, 84, 0, 87, 0, 83, 0, 110, 0, 65, 0, 127, 0, 110, 0, 127, 0, 121, 0, 110, 0, 121, 0, 119, 0, 110, 0, 119, 0, 105, 0, 84, 0, 100, 0, 87, 0, 100, 0, 110, 0, 105, 0, 100, 0, 95, 0, 87, 0, 100, 0, 105, 0, 103, 0, 100, 0, 103, 0, 95, 0)],
+"primitive": 3,
+"vertex_count": 128,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_le8dc"]
resource_name = "saucer_Cylinder001"
-surfaces/0 = {
-"aabb": AABB( -0.11, -0.004, -0.11, 0.22, 0.016, 0.22 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 21, 129, 25, 54, 139, 45, 96, 58, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 0, 105, 230, 54, 177, 56, 113, 58, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 24, 134, 26, 55, 100, 46, 161, 58, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 252, 102, 231, 54, 163, 56, 43, 58, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 26, 137, 27, 56, 158, 47, 219, 58, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 249, 100, 232, 54, 163, 56, 229, 57, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 28, 141, 28, 57, 150, 48, 13, 59, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 245, 98, 232, 54, 177, 56, 160, 57, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 28, 144, 28, 59, 129, 49, 52, 59, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 242, 98, 232, 55, 204, 56, 95, 57, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 28, 146, 29, 60, 133, 50, 79, 59, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 240, 98, 232, 56, 243, 56, 36, 57, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 26, 148, 29, 62, 154, 51, 92, 59, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 238, 100, 231, 57, 36, 57, 242, 56, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 24, 150, 28, 64, 89, 52, 92, 59, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 236, 102, 230, 59, 95, 57, 203, 56, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 21, 151, 27, 66, 227, 52, 78, 59, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 235, 105, 229, 60, 160, 57, 176, 56, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 20, 154, 26, 67, 101, 53, 51, 59, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 232, 106, 228, 62, 229, 57, 162, 56, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 18, 156, 25, 69, 218, 53, 12, 59, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 230, 108, 227, 64, 43, 58, 162, 56, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 16, 158, 24, 70, 61, 54, 218, 58, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 228, 110, 227, 66, 112, 58, 176, 56, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 14, 158, 24, 71, 139, 54, 159, 58, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 228, 112, 228, 67, 177, 58, 203, 56, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 11, 158, 24, 72, 193, 54, 94, 58, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 228, 115, 228, 69, 236, 58, 242, 56, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 7, 156, 24, 72, 220, 54, 25, 58, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 230, 119, 229, 70, 30, 59, 36, 57, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 4, 154, 25, 72, 220, 54, 211, 57, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 232, 122, 230, 71, 69, 59, 95, 57, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 0, 151, 25, 72, 192, 54, 142, 57, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 21, 127, 230, 72, 96, 59, 160, 57, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 252, 154, 26, 71, 138, 54, 77, 57, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 24, 122, 231, 72, 109, 59, 229, 57, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 249, 156, 27, 70, 59, 54, 18, 57, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 26, 119, 232, 72, 109, 59, 43, 58, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 245, 158, 28, 69, 215, 53, 225, 56, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 28, 115, 232, 72, 96, 59, 112, 58, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 242, 158, 28, 67, 98, 53, 186, 56, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 28, 112, 232, 71, 69, 59, 177, 58, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 240, 158, 29, 66, 224, 52, 159, 56, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 28, 110, 232, 70, 30, 59, 236, 58, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 238, 156, 29, 64, 85, 52, 145, 56, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 26, 108, 231, 69, 236, 58, 30, 59, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 236, 154, 28, 62, 146, 51, 145, 56, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 24, 106, 230, 67, 178, 58, 69, 59, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 235, 151, 27, 60, 126, 50, 159, 56, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 21, 105, 229, 66, 113, 58, 96, 59, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 232, 150, 26, 59, 122, 49, 186, 56, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 20, 102, 228, 64, 44, 58, 110, 59, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 230, 148, 25, 57, 144, 48, 226, 56, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 18, 100, 227, 62, 230, 57, 110, 59, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 228, 146, 24, 56, 148, 47, 20, 57, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 16, 98, 227, 60, 161, 57, 96, 59, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 228, 144, 24, 55, 93, 46, 78, 57, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 14, 98, 228, 59, 96, 57, 69, 59, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 228, 141, 24, 54, 135, 45, 143, 57, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 11, 98, 228, 57, 37, 57, 30, 59, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 230, 137, 24, 54, 26, 45, 213, 57, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 7, 100, 229, 56, 243, 56, 236, 58, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 232, 134, 25, 54, 28, 45, 27, 58, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 4, 102, 230, 55, 204, 56, 178, 58, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 127, 127, 31, 15, 203, 36, 137, 58, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 36, 129, 23, 48, 203, 36, 137, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 40, 136, 24, 49, 194, 40, 228, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 127, 105, 42, 25, 194, 40, 228, 58, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 250, 86, 234, 48, 17, 56, 58, 58, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 127, 105, 40, 24, 109, 39, 237, 58, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 127, 127, 29, 14, 12, 33, 143, 58, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 0, 90, 233, 48, 37, 56, 155, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 43, 142, 25, 51, 24, 44, 54, 59, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 127, 89, 47, 33, 24, 44, 54, 59, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 244, 83, 234, 48, 17, 56, 214, 57, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 127, 89, 46, 32, 69, 43, 67, 59, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 45, 148, 26, 53, 71, 46, 124, 59, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 127, 76, 48, 40, 71, 46, 124, 59, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 238, 81, 235, 48, 37, 56, 117, 57, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 127, 76, 48, 40, 231, 45, 139, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 45, 152, 27, 55, 108, 48, 179, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 127, 63, 46, 46, 108, 48, 179, 59, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 234, 81, 235, 49, 74, 56, 26, 57, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 127, 63, 46, 46, 72, 48, 196, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 45, 157, 28, 58, 217, 49, 217, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 127, 50, 42, 52, 217, 49, 217, 59, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 229, 81, 235, 50, 129, 56, 199, 56, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 127, 50, 41, 52, 195, 49, 235, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 43, 160, 29, 61, 93, 51, 236, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 127, 37, 34, 59, 93, 51, 236, 59, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 226, 83, 234, 52, 199, 56, 129, 56, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 127, 37, 34, 59, 86, 51, 255, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 40, 163, 28, 65, 116, 52, 236, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 127, 21, 19, 68, 116, 52, 236, 59, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 223, 86, 233, 55, 26, 57, 74, 56, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 127, 21, 19, 68, 120, 52, 255, 59, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 36, 166, 25, 68, 54, 53, 217, 59, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 127, 0, 0, 78, 54, 53, 217, 59, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 220, 90, 231, 58, 117, 57, 36, 56, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 127, 0, 0, 78, 65, 53, 235, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 33, 170, 24, 71, 236, 53, 179, 59, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 105, 0, 242, 83, 236, 53, 179, 59, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 216, 93, 228, 61, 215, 57, 17, 56, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 105, 0, 242, 83, 254, 53, 196, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 30, 173, 22, 74, 145, 54, 124, 59, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 89, 0, 234, 87, 145, 54, 124, 59, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 213, 96, 227, 65, 58, 58, 17, 56, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 89, 0, 233, 87, 169, 54, 139, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 27, 175, 21, 76, 28, 55, 55, 59, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 76, 0, 229, 93, 28, 55, 55, 59, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 211, 99, 228, 68, 155, 58, 36, 56, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 76, 0, 229, 92, 58, 55, 67, 59, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 22, 175, 21, 77, 138, 55, 228, 58, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 63, 0, 229, 99, 138, 55, 228, 58, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 211, 104, 229, 71, 247, 58, 74, 56, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 63, 0, 229, 99, 172, 55, 237, 58, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 18, 175, 21, 78, 214, 55, 137, 58, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 50, 0, 234, 108, 214, 55, 137, 58, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 211, 108, 230, 73, 73, 59, 129, 56, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 50, 0, 233, 107, 250, 55, 143, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 12, 173, 21, 78, 252, 55, 40, 58, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 37, 0, 247, 120, 252, 55, 40, 58, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 213, 114, 231, 75, 143, 59, 199, 56, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 37, 0, 245, 119, 17, 56, 42, 58, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 6, 170, 22, 78, 252, 55, 197, 57, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 21, 0, 15, 120, 252, 55, 197, 57, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 216, 120, 232, 77, 198, 59, 26, 57, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 21, 0, 12, 121, 17, 56, 195, 57, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 166, 23, 78, 214, 55, 100, 57, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 0, 0, 31, 111, 214, 55, 100, 57, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 0, 0, 29, 112, 250, 55, 95, 57, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 36, 127, 233, 78, 236, 59, 117, 57, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 235, 0, 42, 101, 138, 55, 9, 57, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 250, 170, 24, 77, 138, 55, 9, 57, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 235, 0, 40, 102, 172, 55, 0, 57, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 40, 120, 234, 78, 255, 59, 215, 57, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 219, 0, 47, 93, 29, 55, 183, 56, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 244, 173, 25, 75, 29, 55, 183, 56, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 219, 0, 46, 94, 58, 55, 171, 56, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 43, 114, 234, 78, 255, 59, 58, 58, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 206, 0, 48, 86, 145, 54, 113, 56, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 238, 175, 26, 73, 145, 54, 113, 56, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 206, 0, 48, 86, 169, 54, 98, 56, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 45, 108, 235, 78, 236, 59, 155, 58, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 193, 0, 46, 80, 237, 53, 58, 56, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 234, 175, 27, 71, 237, 53, 58, 56, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 193, 0, 46, 80, 254, 53, 41, 56, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 45, 104, 235, 77, 198, 59, 246, 58, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 180, 0, 42, 74, 54, 53, 20, 56, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 229, 175, 28, 68, 54, 53, 20, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 180, 0, 41, 74, 65, 53, 2, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 45, 99, 235, 76, 143, 59, 73, 59, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 167, 0, 34, 67, 116, 52, 1, 56, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 226, 173, 29, 65, 116, 52, 1, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 167, 0, 34, 67, 120, 52, 221, 55, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 43, 96, 234, 74, 73, 59, 143, 59, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 151, 0, 19, 58, 93, 51, 1, 56, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 223, 170, 28, 61, 93, 51, 1, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 151, 0, 19, 58, 86, 51, 221, 55, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 40, 93, 233, 71, 247, 58, 198, 59, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 129, 0, 0, 48, 218, 49, 20, 56, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 220, 166, 25, 58, 218, 49, 20, 56, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 129, 0, 0, 48, 195, 49, 2, 56, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 36, 90, 231, 68, 155, 58, 236, 59, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 129, 21, 242, 43, 108, 48, 58, 56, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 216, 163, 24, 55, 108, 48, 58, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 129, 21, 242, 43, 72, 48, 41, 56, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 33, 86, 228, 65, 58, 58, 255, 59, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 129, 37, 234, 39, 72, 46, 113, 56, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 213, 160, 22, 52, 72, 46, 113, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 129, 37, 233, 39, 231, 45, 98, 56, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 30, 83, 227, 61, 215, 57, 255, 59, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 129, 50, 229, 33, 25, 44, 183, 56, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 211, 157, 21, 50, 25, 44, 183, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 129, 50, 229, 34, 71, 43, 171, 56, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 27, 81, 228, 58, 118, 57, 236, 59, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 129, 63, 229, 27, 195, 40, 9, 57, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 211, 152, 21, 49, 195, 40, 9, 57, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 129, 63, 229, 27, 110, 39, 0, 57, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 22, 81, 229, 55, 26, 57, 198, 59, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 129, 76, 234, 18, 205, 36, 100, 57, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 211, 148, 21, 48, 205, 36, 100, 57, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 129, 76, 233, 19, 13, 33, 95, 57, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 18, 81, 230, 53, 200, 56, 143, 59, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 129, 89, 247, 6, 200, 32, 197, 57, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 213, 142, 21, 48, 200, 32, 197, 57, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 129, 89, 245, 7, 141, 6, 195, 57, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 12, 83, 230, 51, 130, 56, 73, 59, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 129, 105, 15, 6, 199, 32, 40, 58, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 216, 136, 22, 48, 199, 32, 40, 58, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 129, 105, 12, 5, 141, 6, 42, 58, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 6, 86, 231, 49, 75, 56, 246, 58 ),
-"array_index_data": PoolByteArray( 24, 0, 108, 0, 22, 0, 24, 0, 112, 0, 108, 0, 57, 0, 183, 0, 59, 0, 57, 0, 179, 0, 183, 0, 6, 0, 72, 0, 4, 0, 6, 0, 76, 0, 72, 0, 39, 0, 147, 0, 41, 0, 39, 0, 143, 0, 147, 0, 58, 0, 177, 0, 56, 0, 58, 0, 181, 0, 177, 0, 21, 0, 110, 0, 23, 0, 21, 0, 106, 0, 110, 0, 40, 0, 141, 0, 38, 0, 40, 0, 145, 0, 141, 0, 3, 0, 74, 0, 5, 0, 3, 0, 68, 0, 74, 0, 22, 0, 104, 0, 20, 0, 22, 0, 108, 0, 104, 0, 55, 0, 179, 0, 57, 0, 55, 0, 175, 0, 179, 0, 4, 0, 66, 0, 2, 0, 4, 0, 72, 0, 66, 0, 37, 0, 143, 0, 39, 0, 37, 0, 139, 0, 143, 0, 56, 0, 173, 0, 54, 0, 56, 0, 177, 0, 173, 0, 19, 0, 106, 0, 21, 0, 19, 0, 102, 0, 106, 0, 38, 0, 137, 0, 36, 0, 38, 0, 141, 0, 137, 0, 20, 0, 100, 0, 18, 0, 20, 0, 104, 0, 100, 0, 53, 0, 175, 0, 55, 0, 53, 0, 171, 0, 175, 0, 1, 0, 68, 0, 3, 0, 1, 0, 71, 0, 68, 0, 35, 0, 139, 0, 37, 0, 35, 0, 135, 0, 139, 0, 54, 0, 169, 0, 52, 0, 54, 0, 173, 0, 169, 0, 2, 0, 65, 0, 0, 0, 2, 0, 66, 0, 65, 0, 17, 0, 102, 0, 19, 0, 17, 0, 98, 0, 102, 0, 36, 0, 133, 0, 34, 0, 36, 0, 137, 0, 133, 0, 18, 0, 96, 0, 16, 0, 18, 0, 100, 0, 96, 0, 51, 0, 171, 0, 53, 0, 51, 0, 167, 0, 171, 0, 33, 0, 135, 0, 35, 0, 33, 0, 131, 0, 135, 0, 52, 0, 165, 0, 50, 0, 52, 0, 169, 0, 165, 0, 15, 0, 98, 0, 17, 0, 15, 0, 94, 0, 98, 0, 34, 0, 128, 0, 32, 0, 34, 0, 133, 0, 128, 0, 16, 0, 92, 0, 14, 0, 16, 0, 96, 0, 92, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 167, 0, 51, 0, 49, 0, 163, 0, 167, 0, 31, 0, 131, 0, 33, 0, 31, 0, 126, 0, 131, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 69, 0, 70, 0, 64, 0, 67, 0, 69, 0, 67, 0, 75, 0, 69, 0, 67, 0, 73, 0, 75, 0, 73, 0, 79, 0, 75, 0, 73, 0, 77, 0, 79, 0, 77, 0, 83, 0, 79, 0, 77, 0, 81, 0, 83, 0, 81, 0, 87, 0, 83, 0, 81, 0, 85, 0, 87, 0, 85, 0, 91, 0, 87, 0, 85, 0, 89, 0, 91, 0, 89, 0, 95, 0, 91, 0, 89, 0, 93, 0, 95, 0, 93, 0, 99, 0, 95, 0, 93, 0, 97, 0, 99, 0, 97, 0, 103, 0, 99, 0, 97, 0, 101, 0, 103, 0, 101, 0, 107, 0, 103, 0, 101, 0, 105, 0, 107, 0, 105, 0, 111, 0, 107, 0, 105, 0, 109, 0, 111, 0, 109, 0, 115, 0, 111, 0, 109, 0, 113, 0, 115, 0, 113, 0, 119, 0, 115, 0, 113, 0, 117, 0, 119, 0, 117, 0, 123, 0, 119, 0, 117, 0, 121, 0, 123, 0, 121, 0, 127, 0, 123, 0, 121, 0, 125, 0, 127, 0, 125, 0, 130, 0, 127, 0, 125, 0, 129, 0, 130, 0, 129, 0, 134, 0, 130, 0, 129, 0, 132, 0, 134, 0, 132, 0, 138, 0, 134, 0, 132, 0, 136, 0, 138, 0, 136, 0, 142, 0, 138, 0, 136, 0, 140, 0, 142, 0, 140, 0, 146, 0, 142, 0, 140, 0, 144, 0, 146, 0, 144, 0, 150, 0, 146, 0, 144, 0, 148, 0, 150, 0, 148, 0, 154, 0, 150, 0, 148, 0, 152, 0, 154, 0, 152, 0, 158, 0, 154, 0, 152, 0, 156, 0, 158, 0, 156, 0, 162, 0, 158, 0, 156, 0, 160, 0, 162, 0, 160, 0, 166, 0, 162, 0, 160, 0, 164, 0, 166, 0, 164, 0, 170, 0, 166, 0, 164, 0, 168, 0, 170, 0, 168, 0, 174, 0, 170, 0, 168, 0, 172, 0, 174, 0, 172, 0, 178, 0, 174, 0, 172, 0, 176, 0, 178, 0, 176, 0, 182, 0, 178, 0, 176, 0, 180, 0, 182, 0, 180, 0, 186, 0, 182, 0, 180, 0, 184, 0, 186, 0, 184, 0, 190, 0, 186, 0, 184, 0, 188, 0, 190, 0, 188, 0, 70, 0, 190, 0, 188, 0, 64, 0, 70, 0, 5, 0, 78, 0, 7, 0, 5, 0, 74, 0, 78, 0, 42, 0, 145, 0, 40, 0, 42, 0, 149, 0, 145, 0, 23, 0, 114, 0, 25, 0, 23, 0, 110, 0, 114, 0, 60, 0, 181, 0, 58, 0, 60, 0, 185, 0, 181, 0, 41, 0, 151, 0, 43, 0, 41, 0, 147, 0, 151, 0, 8, 0, 76, 0, 6, 0, 8, 0, 80, 0, 76, 0, 59, 0, 187, 0, 61, 0, 59, 0, 183, 0, 187, 0, 26, 0, 112, 0, 24, 0, 26, 0, 116, 0, 112, 0, 7, 0, 82, 0, 9, 0, 7, 0, 78, 0, 82, 0, 44, 0, 149, 0, 42, 0, 44, 0, 153, 0, 149, 0, 25, 0, 118, 0, 27, 0, 25, 0, 114, 0, 118, 0, 62, 0, 185, 0, 60, 0, 62, 0, 189, 0, 185, 0, 43, 0, 155, 0, 45, 0, 43, 0, 151, 0, 155, 0, 10, 0, 80, 0, 8, 0, 10, 0, 84, 0, 80, 0, 61, 0, 191, 0, 63, 0, 61, 0, 187, 0, 191, 0, 28, 0, 116, 0, 26, 0, 28, 0, 120, 0, 116, 0, 9, 0, 86, 0, 11, 0, 9, 0, 82, 0, 86, 0, 46, 0, 153, 0, 44, 0, 46, 0, 157, 0, 153, 0, 27, 0, 122, 0, 29, 0, 27, 0, 118, 0, 122, 0, 0, 0, 189, 0, 62, 0, 0, 0, 65, 0, 189, 0, 45, 0, 159, 0, 47, 0, 45, 0, 155, 0, 159, 0, 12, 0, 84, 0, 10, 0, 12, 0, 88, 0, 84, 0, 63, 0, 71, 0, 1, 0, 63, 0, 191, 0, 71, 0, 30, 0, 120, 0, 28, 0, 30, 0, 124, 0, 120, 0, 11, 0, 90, 0, 13, 0, 11, 0, 86, 0, 90, 0, 48, 0, 157, 0, 46, 0, 48, 0, 161, 0, 157, 0, 29, 0, 126, 0, 31, 0, 29, 0, 122, 0, 126, 0, 47, 0, 163, 0, 49, 0, 47, 0, 159, 0, 163, 0, 14, 0, 88, 0, 12, 0, 14, 0, 92, 0, 88, 0, 32, 0, 124, 0, 30, 0, 32, 0, 128, 0, 124, 0, 13, 0, 94, 0, 15, 0, 13, 0, 90, 0, 94, 0, 50, 0, 161, 0, 48, 0, 50, 0, 165, 0, 161, 0 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.11, -0.004, -0.11, 0.22, 0.016, 0.22),
+"attribute_data": PackedByteArray(92, 107, 177, 61, 58, 12, 76, 63, 42, 46, 22, 63, 10, 32, 78, 63, 253, 128, 204, 61, 20, 43, 84, 63, 59, 117, 20, 63, 8, 126, 69, 63, 213, 197, 243, 61, 168, 120, 91, 63, 204, 116, 20, 63, 104, 175, 60, 63, 22, 216, 18, 62, 115, 172, 97, 63, 45, 39, 22, 63, 30, 12, 52, 63, 213, 41, 48, 62, 127, 138, 102, 63, 25, 129, 25, 63, 12, 233, 43, 63, 124, 187, 80, 62, 60, 226, 105, 63, 31, 97, 30, 63, 116, 150, 36, 63, 47, 76, 115, 62, 35, 148, 107, 63, 208, 151, 36, 63, 242, 91, 30, 63, 221, 63, 139, 62, 0, 142, 107, 63, 114, 230, 43, 63, 121, 118, 25, 63, 170, 125, 156, 62, 123, 210, 105, 63, 181, 5, 52, 63, 50, 23, 22, 63, 138, 187, 172, 62, 219, 111, 102, 63, 177, 165, 60, 63, 34, 95, 20, 63, 220, 86, 187, 62, 82, 135, 97, 63, 224, 113, 69, 63, 124, 95, 20, 63, 156, 190, 199, 62, 23, 74, 91, 63, 107, 20, 78, 63, 2, 22, 22, 63, 221, 122, 209, 62, 186, 245, 83, 63, 149, 54, 86, 63, 186, 115, 25, 63, 134, 42, 216, 62, 96, 209, 75, 63, 118, 136, 93, 63, 176, 87, 30, 63, 122, 142, 219, 62, 70, 45, 67, 63, 4, 194, 99, 63, 202, 145, 36, 63, 97, 130, 219, 62, 122, 96, 58, 63, 181, 167, 104, 63, 200, 225, 43, 63, 39, 11, 216, 62, 176, 193, 49, 63, 24, 7, 108, 63, 190, 2, 52, 63, 189, 69, 209, 62, 214, 162, 41, 63, 34, 191, 109, 63, 228, 164, 60, 63, 135, 116, 199, 62, 66, 85, 34, 63, 255, 190, 109, 63, 118, 115, 69, 63, 243, 249, 186, 62, 120, 33, 28, 63, 29, 13, 108, 63, 217, 21, 78, 63, 20, 81, 172, 62, 108, 67, 23, 63, 140, 179, 104, 63, 18, 56, 86, 63, 65, 8, 156, 62, 174, 235, 19, 63, 238, 211, 99, 63, 32, 138, 93, 63, 230, 191, 138, 62, 199, 57, 18, 63, 180, 157, 93, 63, 31, 196, 99, 63, 68, 76, 114, 62, 235, 63, 18, 63, 125, 79, 86, 63, 160, 169, 104, 63, 168, 208, 79, 62, 112, 251, 19, 63, 172, 48, 78, 63, 19, 9, 108, 63, 232, 84, 47, 62, 16, 94, 23, 63, 12, 145, 69, 63, 120, 193, 109, 63, 72, 30, 18, 62, 152, 70, 28, 63, 14, 197, 60, 63, 152, 193, 109, 63, 137, 157, 242, 61, 210, 131, 34, 63, 208, 34, 52, 63, 247, 11, 108, 63, 126, 172, 203, 61, 48, 216, 41, 63, 197, 0, 44, 63, 20, 175, 104, 63, 213, 237, 176, 61, 138, 252, 49, 63, 255, 174, 36, 63, 227, 203, 99, 63, 15, 94, 163, 61, 164, 160, 58, 63, 83, 117, 30, 63, 202, 145, 93, 63, 122, 142, 163, 61, 113, 109, 67, 63, 122, 142, 25, 63, 40, 65, 86, 63, 136, 109, 153, 60, 105, 47, 81, 63, 136, 109, 153, 60, 105, 47, 81, 63, 15, 75, 24, 61, 113, 152, 92, 63, 15, 75, 24, 61, 113, 152, 92, 63, 99, 58, 2, 63, 63, 66, 71, 63, 229, 166, 237, 60, 210, 184, 93, 63, 47, 128, 33, 60, 187, 225, 81, 63, 57, 165, 4, 63, 193, 105, 83, 63, 137, 7, 131, 61, 208, 221, 102, 63, 137, 7, 131, 61, 208, 221, 102, 63, 139, 57, 2, 63, 161, 222, 58, 63, 245, 190, 104, 61, 43, 97, 104, 63, 107, 229, 200, 61, 134, 154, 111, 63, 107, 229, 200, 61, 134, 154, 111, 63, 224, 161, 4, 63, 70, 183, 46, 63, 144, 225, 188, 61, 0, 114, 113, 63, 127, 136, 13, 62, 50, 120, 118, 63, 127, 136, 13, 62, 50, 120, 118, 63, 56, 93, 9, 63, 187, 67, 35, 63, 41, 20, 9, 62, 176, 145, 120, 63, 24, 49, 59, 62, 175, 50, 123, 63, 24, 49, 59, 62, 175, 50, 123, 63, 135, 61, 16, 63, 52, 245, 24, 63, 81, 118, 56, 62, 125, 121, 125, 63, 197, 169, 107, 62, 209, 155, 125, 63, 197, 169, 107, 62, 209, 155, 125, 63, 242, 254, 24, 63, 58, 49, 16, 63, 27, 195, 106, 62, 115, 249, 127, 63, 221, 137, 142, 62, 76, 156, 125, 63, 221, 137, 142, 62, 76, 156, 125, 63, 107, 75, 35, 63, 58, 78, 9, 63, 212, 4, 143, 62, 107, 249, 127, 63, 224, 195, 166, 62, 152, 52, 123, 63, 224, 195, 166, 62, 152, 52, 123, 63, 122, 189, 46, 63, 93, 144, 4, 63, 127, 40, 168, 62, 6, 122, 125, 63, 8, 150, 189, 62, 102, 123, 118, 63, 8, 150, 189, 62, 102, 123, 118, 63, 30, 228, 58, 63, 38, 38, 2, 63, 196, 214, 191, 62, 225, 146, 120, 63, 233, 32, 210, 62, 59, 159, 111, 63, 233, 32, 210, 62, 59, 159, 111, 63, 182, 71, 71, 63, 234, 38, 2, 63, 151, 39, 213, 62, 64, 116, 113, 63, 132, 154, 227, 62, 148, 227, 102, 63, 132, 154, 227, 62, 148, 227, 102, 63, 43, 111, 83, 63, 138, 146, 4, 63, 109, 73, 231, 62, 20, 100, 104, 63, 10, 86, 241, 62, 52, 158, 92, 63, 10, 86, 241, 62, 52, 158, 92, 63, 28, 226, 94, 63, 217, 81, 9, 63, 2, 137, 245, 62, 78, 187, 93, 63, 53, 203, 250, 62, 26, 52, 81, 63, 53, 203, 250, 62, 26, 52, 81, 63, 79, 47, 105, 63, 246, 53, 16, 63, 206, 88, 255, 62, 208, 226, 81, 63, 158, 157, 255, 62, 246, 21, 69, 63, 158, 157, 255, 62, 246, 21, 69, 63, 93, 241, 113, 63, 32, 250, 24, 63, 112, 44, 2, 63, 163, 79, 69, 63, 160, 158, 255, 62, 126, 187, 56, 63, 160, 158, 255, 62, 126, 187, 56, 63, 237, 210, 120, 63, 118, 72, 35, 63, 112, 44, 2, 63, 2, 126, 56, 63, 37, 207, 250, 62, 130, 158, 44, 63, 37, 207, 250, 62, 130, 158, 44, 63, 249, 89, 255, 62, 48, 236, 43, 63, 189, 143, 125, 63, 121, 187, 46, 63, 154, 92, 241, 62, 122, 53, 33, 63, 154, 92, 241, 62, 122, 53, 33, 63, 142, 139, 245, 62, 25, 21, 32, 63, 114, 249, 127, 63, 38, 226, 58, 63, 27, 164, 227, 62, 28, 240, 22, 63, 27, 164, 227, 62, 28, 240, 22, 63, 30, 78, 231, 62, 192, 108, 21, 63, 114, 249, 127, 63, 184, 68, 71, 63, 162, 44, 210, 62, 100, 51, 14, 63, 162, 44, 210, 62, 100, 51, 14, 63, 153, 45, 213, 62, 236, 91, 12, 63, 236, 144, 125, 63, 199, 106, 83, 63, 192, 161, 189, 62, 185, 85, 7, 63, 192, 161, 189, 62, 185, 85, 7, 63, 235, 219, 191, 62, 59, 60, 5, 63, 224, 213, 120, 63, 0, 221, 94, 63, 115, 205, 166, 62, 60, 155, 2, 63, 115, 205, 166, 62, 60, 155, 2, 63, 215, 42, 168, 62, 110, 84, 0, 63, 65, 246, 113, 63, 118, 42, 105, 63, 27, 145, 142, 62, 24, 50, 0, 63, 27, 145, 142, 62, 24, 50, 0, 63, 113, 4, 143, 62, 240, 168, 251, 62, 217, 53, 105, 63, 182, 237, 113, 63, 66, 184, 107, 62, 158, 49, 0, 63, 66, 184, 107, 62, 158, 49, 0, 63, 85, 194, 106, 62, 254, 168, 251, 62, 114, 234, 94, 63, 132, 208, 120, 63, 61, 68, 59, 62, 82, 153, 2, 63, 61, 68, 59, 62, 82, 153, 2, 63, 255, 122, 56, 62, 228, 83, 0, 63, 105, 121, 83, 63, 147, 142, 125, 63, 236, 159, 13, 62, 132, 82, 7, 63, 236, 159, 13, 62, 132, 82, 7, 63, 117, 30, 9, 62, 8, 59, 5, 63, 181, 83, 71, 63, 82, 249, 127, 63, 82, 20, 201, 61, 175, 46, 14, 63, 82, 20, 201, 61, 175, 46, 14, 63, 153, 249, 188, 61, 169, 89, 12, 63, 235, 240, 58, 63, 115, 249, 127, 63, 230, 45, 131, 61, 86, 234, 22, 63, 230, 45, 131, 61, 86, 234, 22, 63, 119, 228, 104, 61, 214, 105, 21, 63, 7, 202, 46, 63, 18, 143, 125, 63, 142, 127, 24, 61, 182, 47, 33, 63, 142, 127, 24, 61, 182, 47, 33, 63, 185, 207, 237, 60, 156, 18, 32, 63, 54, 87, 35, 63, 32, 209, 120, 63, 69, 172, 153, 60, 208, 153, 44, 63, 69, 172, 153, 60, 208, 153, 44, 63, 149, 165, 33, 60, 26, 235, 43, 63, 179, 9, 25, 63, 59, 238, 113, 63, 184, 11, 25, 60, 244, 183, 56, 63, 184, 11, 25, 60, 244, 183, 56, 63, 119, 187, 209, 56, 71, 126, 56, 63, 172, 70, 16, 63, 29, 43, 105, 63, 117, 235, 24, 60, 109, 18, 69, 63, 117, 235, 24, 60, 109, 18, 69, 63, 50, 169, 209, 56, 233, 79, 69, 63, 132, 99, 9, 63, 44, 221, 94, 63),
+"format": 4119,
"index_count": 756,
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 192
-}
+"index_data": PackedByteArray(24, 0, 108, 0, 22, 0, 24, 0, 112, 0, 108, 0, 57, 0, 183, 0, 59, 0, 57, 0, 179, 0, 183, 0, 6, 0, 72, 0, 4, 0, 6, 0, 76, 0, 72, 0, 39, 0, 147, 0, 41, 0, 39, 0, 143, 0, 147, 0, 58, 0, 177, 0, 56, 0, 58, 0, 181, 0, 177, 0, 21, 0, 110, 0, 23, 0, 21, 0, 106, 0, 110, 0, 40, 0, 141, 0, 38, 0, 40, 0, 145, 0, 141, 0, 3, 0, 74, 0, 5, 0, 3, 0, 68, 0, 74, 0, 22, 0, 104, 0, 20, 0, 22, 0, 108, 0, 104, 0, 55, 0, 179, 0, 57, 0, 55, 0, 175, 0, 179, 0, 4, 0, 66, 0, 2, 0, 4, 0, 72, 0, 66, 0, 37, 0, 143, 0, 39, 0, 37, 0, 139, 0, 143, 0, 56, 0, 173, 0, 54, 0, 56, 0, 177, 0, 173, 0, 19, 0, 106, 0, 21, 0, 19, 0, 102, 0, 106, 0, 38, 0, 137, 0, 36, 0, 38, 0, 141, 0, 137, 0, 20, 0, 100, 0, 18, 0, 20, 0, 104, 0, 100, 0, 53, 0, 175, 0, 55, 0, 53, 0, 171, 0, 175, 0, 1, 0, 68, 0, 3, 0, 1, 0, 71, 0, 68, 0, 35, 0, 139, 0, 37, 0, 35, 0, 135, 0, 139, 0, 54, 0, 169, 0, 52, 0, 54, 0, 173, 0, 169, 0, 2, 0, 65, 0, 0, 0, 2, 0, 66, 0, 65, 0, 17, 0, 102, 0, 19, 0, 17, 0, 98, 0, 102, 0, 36, 0, 133, 0, 34, 0, 36, 0, 137, 0, 133, 0, 18, 0, 96, 0, 16, 0, 18, 0, 100, 0, 96, 0, 51, 0, 171, 0, 53, 0, 51, 0, 167, 0, 171, 0, 33, 0, 135, 0, 35, 0, 33, 0, 131, 0, 135, 0, 52, 0, 165, 0, 50, 0, 52, 0, 169, 0, 165, 0, 15, 0, 98, 0, 17, 0, 15, 0, 94, 0, 98, 0, 34, 0, 128, 0, 32, 0, 34, 0, 133, 0, 128, 0, 16, 0, 92, 0, 14, 0, 16, 0, 96, 0, 92, 0, 5, 0, 1, 0, 3, 0, 1, 0, 61, 0, 63, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 37, 0, 39, 0, 37, 0, 33, 0, 35, 0, 33, 0, 29, 0, 31, 0, 29, 0, 25, 0, 27, 0, 25, 0, 21, 0, 23, 0, 21, 0, 17, 0, 19, 0, 17, 0, 13, 0, 15, 0, 13, 0, 9, 0, 11, 0, 9, 0, 5, 0, 7, 0, 5, 0, 61, 0, 1, 0, 61, 0, 53, 0, 57, 0, 53, 0, 45, 0, 49, 0, 45, 0, 37, 0, 41, 0, 37, 0, 29, 0, 33, 0, 29, 0, 21, 0, 25, 0, 21, 0, 13, 0, 17, 0, 13, 0, 5, 0, 9, 0, 5, 0, 53, 0, 61, 0, 53, 0, 37, 0, 45, 0, 37, 0, 21, 0, 29, 0, 21, 0, 5, 0, 13, 0, 5, 0, 37, 0, 53, 0, 37, 0, 5, 0, 21, 0, 49, 0, 167, 0, 51, 0, 49, 0, 163, 0, 167, 0, 31, 0, 131, 0, 33, 0, 31, 0, 126, 0, 131, 0, 62, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 10, 0, 14, 0, 12, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 26, 0, 24, 0, 26, 0, 30, 0, 28, 0, 30, 0, 34, 0, 32, 0, 34, 0, 38, 0, 36, 0, 38, 0, 42, 0, 40, 0, 42, 0, 46, 0, 44, 0, 46, 0, 50, 0, 48, 0, 50, 0, 54, 0, 52, 0, 54, 0, 58, 0, 56, 0, 58, 0, 62, 0, 60, 0, 62, 0, 6, 0, 2, 0, 6, 0, 14, 0, 10, 0, 14, 0, 22, 0, 18, 0, 22, 0, 30, 0, 26, 0, 30, 0, 38, 0, 34, 0, 38, 0, 46, 0, 42, 0, 46, 0, 54, 0, 50, 0, 54, 0, 62, 0, 58, 0, 62, 0, 14, 0, 6, 0, 14, 0, 30, 0, 22, 0, 30, 0, 46, 0, 38, 0, 46, 0, 62, 0, 54, 0, 62, 0, 30, 0, 14, 0, 30, 0, 62, 0, 46, 0, 64, 0, 69, 0, 70, 0, 64, 0, 67, 0, 69, 0, 67, 0, 75, 0, 69, 0, 67, 0, 73, 0, 75, 0, 73, 0, 79, 0, 75, 0, 73, 0, 77, 0, 79, 0, 77, 0, 83, 0, 79, 0, 77, 0, 81, 0, 83, 0, 81, 0, 87, 0, 83, 0, 81, 0, 85, 0, 87, 0, 85, 0, 91, 0, 87, 0, 85, 0, 89, 0, 91, 0, 89, 0, 95, 0, 91, 0, 89, 0, 93, 0, 95, 0, 93, 0, 99, 0, 95, 0, 93, 0, 97, 0, 99, 0, 97, 0, 103, 0, 99, 0, 97, 0, 101, 0, 103, 0, 101, 0, 107, 0, 103, 0, 101, 0, 105, 0, 107, 0, 105, 0, 111, 0, 107, 0, 105, 0, 109, 0, 111, 0, 109, 0, 115, 0, 111, 0, 109, 0, 113, 0, 115, 0, 113, 0, 119, 0, 115, 0, 113, 0, 117, 0, 119, 0, 117, 0, 123, 0, 119, 0, 117, 0, 121, 0, 123, 0, 121, 0, 127, 0, 123, 0, 121, 0, 125, 0, 127, 0, 125, 0, 130, 0, 127, 0, 125, 0, 129, 0, 130, 0, 129, 0, 134, 0, 130, 0, 129, 0, 132, 0, 134, 0, 132, 0, 138, 0, 134, 0, 132, 0, 136, 0, 138, 0, 136, 0, 142, 0, 138, 0, 136, 0, 140, 0, 142, 0, 140, 0, 146, 0, 142, 0, 140, 0, 144, 0, 146, 0, 144, 0, 150, 0, 146, 0, 144, 0, 148, 0, 150, 0, 148, 0, 154, 0, 150, 0, 148, 0, 152, 0, 154, 0, 152, 0, 158, 0, 154, 0, 152, 0, 156, 0, 158, 0, 156, 0, 162, 0, 158, 0, 156, 0, 160, 0, 162, 0, 160, 0, 166, 0, 162, 0, 160, 0, 164, 0, 166, 0, 164, 0, 170, 0, 166, 0, 164, 0, 168, 0, 170, 0, 168, 0, 174, 0, 170, 0, 168, 0, 172, 0, 174, 0, 172, 0, 178, 0, 174, 0, 172, 0, 176, 0, 178, 0, 176, 0, 182, 0, 178, 0, 176, 0, 180, 0, 182, 0, 180, 0, 186, 0, 182, 0, 180, 0, 184, 0, 186, 0, 184, 0, 190, 0, 186, 0, 184, 0, 188, 0, 190, 0, 188, 0, 70, 0, 190, 0, 188, 0, 64, 0, 70, 0, 5, 0, 78, 0, 7, 0, 5, 0, 74, 0, 78, 0, 42, 0, 145, 0, 40, 0, 42, 0, 149, 0, 145, 0, 23, 0, 114, 0, 25, 0, 23, 0, 110, 0, 114, 0, 60, 0, 181, 0, 58, 0, 60, 0, 185, 0, 181, 0, 41, 0, 151, 0, 43, 0, 41, 0, 147, 0, 151, 0, 8, 0, 76, 0, 6, 0, 8, 0, 80, 0, 76, 0, 59, 0, 187, 0, 61, 0, 59, 0, 183, 0, 187, 0, 26, 0, 112, 0, 24, 0, 26, 0, 116, 0, 112, 0, 7, 0, 82, 0, 9, 0, 7, 0, 78, 0, 82, 0, 44, 0, 149, 0, 42, 0, 44, 0, 153, 0, 149, 0, 25, 0, 118, 0, 27, 0, 25, 0, 114, 0, 118, 0, 62, 0, 185, 0, 60, 0, 62, 0, 189, 0, 185, 0, 43, 0, 155, 0, 45, 0, 43, 0, 151, 0, 155, 0, 10, 0, 80, 0, 8, 0, 10, 0, 84, 0, 80, 0, 61, 0, 191, 0, 63, 0, 61, 0, 187, 0, 191, 0, 28, 0, 116, 0, 26, 0, 28, 0, 120, 0, 116, 0, 9, 0, 86, 0, 11, 0, 9, 0, 82, 0, 86, 0, 46, 0, 153, 0, 44, 0, 46, 0, 157, 0, 153, 0, 27, 0, 122, 0, 29, 0, 27, 0, 118, 0, 122, 0, 0, 0, 189, 0, 62, 0, 0, 0, 65, 0, 189, 0, 45, 0, 159, 0, 47, 0, 45, 0, 155, 0, 159, 0, 12, 0, 84, 0, 10, 0, 12, 0, 88, 0, 84, 0, 63, 0, 71, 0, 1, 0, 63, 0, 191, 0, 71, 0, 30, 0, 120, 0, 28, 0, 30, 0, 124, 0, 120, 0, 11, 0, 90, 0, 13, 0, 11, 0, 86, 0, 90, 0, 48, 0, 157, 0, 46, 0, 48, 0, 161, 0, 157, 0, 29, 0, 126, 0, 31, 0, 29, 0, 122, 0, 126, 0, 47, 0, 163, 0, 49, 0, 47, 0, 159, 0, 163, 0, 14, 0, 88, 0, 12, 0, 14, 0, 92, 0, 88, 0, 32, 0, 124, 0, 30, 0, 32, 0, 128, 0, 124, 0, 13, 0, 94, 0, 15, 0, 13, 0, 90, 0, 94, 0, 50, 0, 161, 0, 48, 0, 50, 0, 165, 0, 161, 0),
+"lods": [0.00958653, PackedByteArray(78, 0, 68, 0, 74, 0, 78, 0, 71, 0, 68, 0, 78, 0, 82, 0, 86, 0, 78, 0, 86, 0, 90, 0, 78, 0, 90, 0, 94, 0, 78, 0, 94, 0, 98, 0, 179, 0, 71, 0, 78, 0, 179, 0, 191, 0, 71, 0, 179, 0, 187, 0, 191, 0, 179, 0, 183, 0, 187, 0, 78, 0, 98, 0, 110, 0, 110, 0, 98, 0, 102, 0, 110, 0, 102, 0, 106, 0, 179, 0, 171, 0, 175, 0, 179, 0, 167, 0, 171, 0, 179, 0, 163, 0, 167, 0, 78, 0, 147, 0, 179, 0, 147, 0, 163, 0, 179, 0, 147, 0, 78, 0, 110, 0, 147, 0, 159, 0, 163, 0, 147, 0, 155, 0, 159, 0, 147, 0, 151, 0, 155, 0, 147, 0, 139, 0, 143, 0, 147, 0, 135, 0, 139, 0, 147, 0, 131, 0, 135, 0, 110, 0, 131, 0, 147, 0, 110, 0, 126, 0, 131, 0, 110, 0, 122, 0, 126, 0, 110, 0, 118, 0, 122, 0, 110, 0, 114, 0, 118, 0, 80, 0, 66, 0, 177, 0, 177, 0, 66, 0, 189, 0, 80, 0, 76, 0, 66, 0, 80, 0, 92, 0, 88, 0, 80, 0, 100, 0, 92, 0, 112, 0, 100, 0, 80, 0, 177, 0, 112, 0, 80, 0, 112, 0, 108, 0, 100, 0, 177, 0, 173, 0, 165, 0, 177, 0, 165, 0, 145, 0, 112, 0, 177, 0, 145, 0, 145, 0, 165, 0, 161, 0, 145, 0, 161, 0, 157, 0, 145, 0, 133, 0, 112, 0, 112, 0, 133, 0, 124, 0, 145, 0, 141, 0, 133, 0, 67, 0, 69, 0, 70, 0, 67, 0, 75, 0, 69, 0, 188, 0, 67, 0, 70, 0, 67, 0, 77, 0, 75, 0, 188, 0, 70, 0, 190, 0, 77, 0, 79, 0, 75, 0, 188, 0, 190, 0, 186, 0, 77, 0, 83, 0, 79, 0, 176, 0, 188, 0, 186, 0, 77, 0, 81, 0, 83, 0, 176, 0, 186, 0, 182, 0, 81, 0, 87, 0, 83, 0, 176, 0, 182, 0, 178, 0, 81, 0, 91, 0, 87, 0, 172, 0, 176, 0, 178, 0, 81, 0, 89, 0, 91, 0, 172, 0, 178, 0, 174, 0, 89, 0, 95, 0, 91, 0, 172, 0, 174, 0, 170, 0, 89, 0, 93, 0, 95, 0, 164, 0, 172, 0, 170, 0, 93, 0, 99, 0, 95, 0, 164, 0, 170, 0, 166, 0, 93, 0, 101, 0, 99, 0, 160, 0, 164, 0, 166, 0, 101, 0, 103, 0, 99, 0, 160, 0, 166, 0, 162, 0, 101, 0, 107, 0, 103, 0, 156, 0, 160, 0, 162, 0, 101, 0, 109, 0, 107, 0, 156, 0, 162, 0, 158, 0, 109, 0, 111, 0, 107, 0, 156, 0, 158, 0, 154, 0, 109, 0, 115, 0, 111, 0, 144, 0, 156, 0, 154, 0, 109, 0, 113, 0, 115, 0, 144, 0, 154, 0, 150, 0, 113, 0, 119, 0, 115, 0, 144, 0, 150, 0, 146, 0, 113, 0, 123, 0, 119, 0, 140, 0, 144, 0, 146, 0, 113, 0, 125, 0, 123, 0, 140, 0, 146, 0, 142, 0, 125, 0, 127, 0, 123, 0, 140, 0, 142, 0, 138, 0, 125, 0, 130, 0, 127, 0, 132, 0, 140, 0, 138, 0, 125, 0, 132, 0, 130, 0, 132, 0, 138, 0, 134, 0, 132, 0, 134, 0, 130, 0), 0.0182738, PackedByteArray(147, 0, 135, 0, 143, 0, 110, 0, 135, 0, 147, 0, 110, 0, 126, 0, 135, 0, 110, 0, 118, 0, 126, 0, 147, 0, 78, 0, 110, 0, 78, 0, 102, 0, 110, 0, 78, 0, 94, 0, 102, 0, 78, 0, 86, 0, 94, 0, 78, 0, 147, 0, 179, 0, 179, 0, 71, 0, 78, 0, 179, 0, 191, 0, 71, 0, 147, 0, 167, 0, 179, 0, 179, 0, 167, 0, 175, 0, 147, 0, 159, 0, 167, 0, 165, 0, 66, 0, 65, 0, 165, 0, 65, 0, 189, 0, 66, 0, 96, 0, 88, 0, 66, 0, 104, 0, 96, 0, 165, 0, 104, 0, 66, 0, 104, 0, 165, 0, 133, 0, 133, 0, 165, 0, 157, 0, 104, 0, 133, 0, 124, 0, 64, 0, 67, 0, 70, 0, 188, 0, 64, 0, 70, 0, 67, 0, 79, 0, 70, 0, 188, 0, 70, 0, 190, 0, 67, 0, 87, 0, 79, 0, 67, 0, 95, 0, 87, 0, 67, 0, 89, 0, 95, 0, 89, 0, 97, 0, 95, 0, 97, 0, 103, 0, 95, 0, 164, 0, 188, 0, 190, 0, 164, 0, 190, 0, 178, 0, 164, 0, 178, 0, 174, 0, 164, 0, 174, 0, 166, 0, 156, 0, 164, 0, 166, 0, 156, 0, 166, 0, 158, 0, 97, 0, 105, 0, 103, 0, 105, 0, 111, 0, 103, 0, 105, 0, 119, 0, 111, 0, 105, 0, 127, 0, 119, 0, 105, 0, 125, 0, 127, 0, 125, 0, 134, 0, 127, 0, 132, 0, 156, 0, 158, 0, 125, 0, 132, 0, 134, 0, 132, 0, 158, 0, 146, 0, 132, 0, 142, 0, 134, 0, 132, 0, 146, 0, 142, 0), 0.0249856, PackedByteArray(137, 0, 104, 0, 66, 0, 165, 0, 137, 0, 66, 0, 78, 0, 147, 0, 179, 0, 147, 0, 78, 0, 110, 0, 67, 0, 79, 0, 178, 0, 67, 0, 105, 0, 79, 0, 164, 0, 67, 0, 178, 0, 105, 0, 111, 0, 79, 0, 164, 0, 178, 0, 146, 0, 105, 0, 136, 0, 111, 0, 136, 0, 164, 0, 146, 0, 136, 0, 146, 0, 111, 0), 0.0341249, PackedByteArray(137, 0, 104, 0, 66, 0, 66, 0, 104, 0, 88, 0, 157, 0, 137, 0, 66, 0, 78, 0, 102, 0, 110, 0, 110, 0, 126, 0, 143, 0, 110, 0, 143, 0, 147, 0, 147, 0, 78, 0, 110, 0, 78, 0, 147, 0, 179, 0, 147, 0, 175, 0, 179, 0, 179, 0, 191, 0, 78, 0, 67, 0, 79, 0, 190, 0, 67, 0, 103, 0, 79, 0, 67, 0, 89, 0, 103, 0, 89, 0, 105, 0, 103, 0, 105, 0, 111, 0, 103, 0, 156, 0, 67, 0, 190, 0, 156, 0, 190, 0, 178, 0, 156, 0, 178, 0, 174, 0, 156, 0, 174, 0, 146, 0, 105, 0, 136, 0, 111, 0, 136, 0, 156, 0, 146, 0, 136, 0, 127, 0, 111, 0, 136, 0, 146, 0, 142, 0, 136, 0, 142, 0, 127, 0)],
+"material": SubResource("StandardMaterial3D_3anyq"),
+"primitive": 3,
+"vertex_count": 192,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 189, 189, 149, 0, 0, 16, 154, 87, 183, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 189, 255, 127, 65, 234, 148, 101, 94, 183, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 189, 210, 152, 30, 4, 227, 154, 254, 183, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 189, 225, 123, 44, 231, 61, 102, 6, 183, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 189, 255, 154, 232, 7, 172, 155, 239, 184, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 189, 23, 120, 255, 228, 230, 102, 253, 182, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 189, 75, 156, 85, 11, 78, 156, 32, 186, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 189, 170, 116, 179, 227, 73, 103, 73, 183, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 189, 185, 156, 92, 14, 233, 156, 144, 187, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 189, 162, 113, 69, 227, 99, 103, 232, 183, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 189, 75, 156, 246, 16, 95, 157, 53, 189, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 189, 9, 111, 179, 227, 36, 103, 213, 184, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 188, 255, 154, 23, 19, 200, 157, 10, 191, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 188, 232, 108, 255, 228, 145, 102, 11, 186, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 188, 210, 152, 180, 20, 47, 157, 254, 192, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 188, 75, 107, 44, 231, 166, 101, 129, 187, 10, 215, 163, 61, 112, 18, 131, 187, 0, 0, 0, 128, 189, 149, 189, 21, 191, 155, 214, 194, 10, 215, 163, 61, 0, 0, 0, 0, 0, 0, 0, 128, 65, 106, 65, 234, 111, 100, 45, 189, 29, 177, 160, 61, 112, 18, 131, 187, 115, 181, 127, 60, 179, 148, 210, 24, 142, 154, 129, 196, 29, 177, 160, 61, 0, 0, 0, 0, 115, 181, 127, 60, 44, 103, 74, 235, 1, 99, 6, 191, 80, 94, 151, 61, 112, 18, 131, 187, 161, 203, 250, 60, 22, 147, 255, 26, 165, 153, 246, 197, 80, 94, 151, 61, 0, 0, 0, 0, 161, 203, 250, 60, 255, 100, 231, 236, 90, 98, 248, 192, 93, 58, 136, 61, 112, 18, 131, 187, 156, 12, 54, 61, 245, 144, 75, 28, 251, 152, 41, 199, 93, 58, 136, 61, 0, 0, 0, 0, 156, 12, 54, 61, 179, 99, 8, 239, 164, 98, 202, 194, 106, 180, 103, 61, 112, 18, 131, 187, 106, 180, 103, 61, 92, 142, 185, 28, 164, 152, 22, 200, 106, 180, 103, 61, 0, 0, 0, 0, 106, 180, 103, 61, 69, 99, 162, 241, 10, 99, 109, 196, 156, 12, 54, 61, 112, 18, 131, 187, 93, 58, 136, 61, 84, 139, 75, 28, 179, 152, 180, 200, 156, 12, 54, 61, 0, 0, 0, 0, 93, 58, 136, 61, 179, 99, 169, 244, 140, 99, 218, 197, 161, 203, 250, 60, 112, 18, 131, 187, 80, 94, 151, 61, 231, 135, 255, 26, 27, 153, 0, 201, 161, 203, 250, 60, 0, 0, 0, 0, 80, 94, 151, 61, 255, 100, 22, 248, 47, 100, 11, 199, 115, 181, 127, 60, 112, 18, 131, 187, 29, 177, 160, 61, 29, 132, 210, 24, 128, 153, 252, 200, 115, 181, 127, 60, 0, 0, 0, 0, 29, 177, 160, 61, 44, 103, 224, 251, 215, 100, 248, 199, 0, 0, 0, 0, 112, 18, 131, 187, 10, 215, 163, 61, 255, 127, 189, 21, 16, 154, 167, 200, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 163, 61, 189, 149, 255, 255, 148, 101, 159, 200, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 61, 225, 123, 210, 24, 227, 154, 255, 199, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 61, 210, 152, 224, 251, 67, 102, 248, 200, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 61, 23, 120, 255, 26, 173, 155, 15, 199, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 61, 255, 154, 22, 248, 231, 102, 0, 201, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 61, 170, 116, 75, 28, 78, 156, 222, 197, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 61, 75, 156, 169, 244, 74, 103, 180, 200, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 61, 162, 113, 185, 28, 233, 156, 110, 196, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 61, 185, 156, 162, 241, 98, 103, 22, 200, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 61, 9, 111, 75, 28, 95, 157, 201, 194, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 61, 75, 156, 8, 239, 37, 103, 40, 199, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 60, 232, 108, 255, 26, 200, 157, 243, 192, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 60, 255, 154, 231, 236, 142, 102, 243, 197, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 60, 75, 107, 210, 24, 47, 157, 0, 191, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 60, 210, 152, 74, 235, 163, 101, 125, 196, 10, 215, 163, 189, 112, 18, 131, 187, 0, 0, 0, 128, 65, 106, 189, 21, 191, 155, 40, 189, 10, 215, 163, 189, 0, 0, 0, 0, 0, 0, 0, 128, 189, 149, 65, 234, 107, 100, 209, 194, 29, 177, 160, 189, 112, 18, 131, 187, 115, 181, 127, 188, 44, 103, 180, 20, 142, 154, 124, 187, 29, 177, 160, 189, 0, 0, 0, 0, 115, 181, 127, 188, 179, 148, 44, 231, 253, 98, 248, 192, 80, 94, 151, 189, 112, 18, 131, 187, 161, 203, 250, 188, 255, 100, 23, 19, 165, 153, 8, 186, 80, 94, 151, 189, 0, 0, 0, 0, 161, 203, 250, 188, 22, 147, 255, 228, 86, 98, 6, 191, 93, 58, 136, 189, 112, 18, 131, 187, 156, 12, 54, 189, 179, 99, 246, 16, 251, 152, 212, 184, 93, 58, 136, 189, 0, 0, 0, 0, 156, 12, 54, 189, 245, 144, 179, 227, 156, 98, 53, 189, 106, 180, 103, 189, 112, 18, 131, 187, 106, 180, 103, 189, 69, 99, 92, 14, 164, 152, 232, 183, 106, 180, 103, 189, 0, 0, 0, 0, 106, 180, 103, 189, 92, 142, 69, 227, 2, 99, 146, 187, 156, 12, 54, 189, 112, 18, 131, 187, 93, 58, 136, 189, 179, 99, 85, 11, 179, 152, 73, 183, 156, 12, 54, 189, 0, 0, 0, 0, 93, 58, 136, 189, 84, 139, 179, 227, 126, 99, 38, 186, 161, 203, 250, 188, 112, 18, 131, 187, 80, 94, 151, 189, 255, 100, 232, 7, 27, 153, 253, 182, 161, 203, 250, 188, 0, 0, 0, 0, 80, 94, 151, 189, 231, 135, 255, 228, 40, 100, 243, 184, 115, 181, 127, 188, 112, 18, 131, 187, 29, 177, 160, 189, 44, 103, 30, 4, 128, 153, 2, 183, 115, 181, 127, 188, 0, 0, 0, 0, 29, 177, 160, 189, 29, 132, 44, 231, 220, 100, 4, 184, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 255, 255, 255, 255, 76, 159, 166, 143, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 189, 145, 164, 0, 0, 163, 151, 22, 177, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 241, 168, 203, 6, 169, 152, 33, 178, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 189, 255, 255, 194, 234, 97, 170, 103, 153, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 52, 121, 13, 215, 211, 104, 148, 176, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 189, 255, 255, 194, 234, 52, 169, 178, 152, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 255, 255, 255, 255, 127, 157, 191, 142, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 189, 255, 127, 108, 219, 214, 103, 41, 177, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 238, 171, 222, 12, 180, 153, 161, 179, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 189, 255, 255, 129, 218, 181, 175, 188, 161, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 33, 115, 15, 212, 163, 105, 126, 176, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 189, 255, 255, 129, 218, 252, 174, 57, 161, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 172, 173, 75, 18, 181, 154, 149, 181, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 189, 255, 255, 186, 204, 214, 176, 188, 168, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 180, 109, 82, 210, 44, 106, 237, 176, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 189, 255, 255, 186, 204, 109, 176, 100, 168, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 62, 174, 31, 23, 165, 155, 251, 183, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 189, 255, 255, 255, 191, 225, 174, 225, 174, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 224, 104, 192, 209, 86, 106, 226, 177, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 189, 255, 255, 255, 191, 170, 174, 170, 174, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 172, 173, 97, 27, 131, 156, 213, 186, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 189, 255, 255, 68, 179, 84, 170, 215, 180, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 158, 100, 82, 210, 10, 106, 94, 179, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 189, 255, 255, 68, 179, 62, 170, 187, 180, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 238, 171, 16, 31, 90, 157, 39, 190, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 189, 255, 255, 124, 165, 247, 162, 178, 187, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 238, 96, 15, 212, 54, 105, 92, 181, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 189, 255, 255, 124, 165, 242, 162, 169, 187, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 241, 168, 38, 34, 122, 156, 216, 193, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 188, 255, 255, 59, 149, 155, 147, 229, 196, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 216, 93, 13, 215, 214, 103, 215, 183, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 188, 255, 255, 59, 149, 155, 147, 229, 196, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 145, 164, 146, 36, 38, 154, 58, 197, 174, 71, 225, 61, 104, 18, 3, 60, 0, 0, 0, 128, 255, 255, 255, 127, 255, 127, 176, 206, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 109, 91, 108, 219, 240, 101, 201, 186, 174, 71, 225, 61, 160, 155, 68, 60, 0, 0, 0, 128, 255, 255, 255, 127, 255, 127, 166, 206, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 38, 162, 241, 40, 64, 152, 42, 200, 136, 243, 220, 61, 104, 18, 3, 60, 194, 204, 175, 60, 194, 234, 255, 127, 83, 113, 200, 211, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 13, 87, 216, 221, 146, 99, 41, 190, 136, 243, 220, 61, 160, 155, 68, 60, 194, 204, 175, 60, 194, 234, 255, 127, 74, 113, 171, 211, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 16, 159, 239, 43, 211, 150, 162, 202, 175, 33, 208, 61, 104, 18, 3, 60, 254, 107, 44, 61, 129, 218, 255, 127, 223, 104, 133, 216, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 16, 84, 238, 224, 160, 98, 214, 193, 175, 33, 208, 61, 160, 155, 68, 60, 254, 107, 44, 61, 129, 218, 255, 127, 189, 104, 75, 216, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 96, 155, 172, 45, 232, 149, 159, 204, 64, 80, 187, 61, 104, 18, 3, 60, 86, 81, 122, 61, 186, 204, 255, 127, 167, 100, 220, 221, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 82, 82, 157, 228, 85, 99, 32, 197, 64, 80, 187, 61, 160, 155, 68, 60, 86, 81, 122, 61, 186, 204, 255, 127, 89, 100, 123, 221, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 30, 151, 62, 46, 127, 149, 27, 206, 9, 76, 159, 61, 104, 18, 3, 60, 9, 76, 159, 61, 255, 191, 255, 127, 143, 100, 142, 228, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 192, 81, 223, 232, 21, 100, 244, 199, 9, 76, 159, 61, 160, 155, 68, 60, 9, 76, 159, 61, 255, 191, 255, 127, 243, 99, 243, 227, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 74, 146, 172, 45, 137, 149, 19, 207, 86, 81, 122, 61, 104, 18, 3, 60, 64, 80, 187, 61, 68, 179, 255, 127, 194, 105, 114, 237, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 82, 82, 179, 237, 231, 100, 84, 202, 86, 81, 122, 61, 160, 155, 68, 60, 64, 80, 187, 61, 68, 179, 255, 127, 158, 104, 126, 236, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 221, 140, 239, 43, 246, 149, 135, 207, 254, 107, 44, 61, 104, 18, 3, 60, 175, 33, 208, 61, 124, 165, 255, 127, 234, 118, 146, 249, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 16, 84, 32, 243, 208, 101, 69, 204, 254, 107, 44, 61, 160, 155, 68, 60, 175, 33, 208, 61, 124, 165, 255, 127, 209, 116, 23, 248, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 202, 134, 241, 40, 179, 150, 119, 207, 194, 204, 175, 60, 104, 18, 3, 60, 136, 243, 220, 61, 59, 149, 255, 127, 64, 143, 162, 249, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 13, 87, 51, 249, 209, 102, 198, 205, 194, 204, 175, 60, 160, 155, 68, 60, 136, 243, 220, 61, 59, 149, 255, 127, 118, 140, 204, 250, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 255, 127, 146, 36, 163, 151, 231, 206, 0, 0, 0, 0, 104, 18, 3, 60, 174, 71, 225, 61, 255, 127, 255, 127, 76, 159, 88, 240, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 255, 127, 255, 127, 127, 157, 63, 241, 0, 0, 0, 0, 160, 155, 68, 60, 174, 71, 225, 61, 145, 164, 255, 255, 222, 103, 213, 206, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 195, 106, 255, 127, 97, 170, 150, 230, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 61, 52, 121, 241, 40, 169, 152, 221, 205, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 195, 106, 255, 127, 52, 169, 75, 231, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 61, 241, 168, 51, 249, 217, 104, 106, 207, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 130, 90, 255, 127, 181, 175, 66, 222, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 61, 33, 115, 239, 43, 180, 153, 92, 204, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 130, 90, 255, 127, 252, 174, 196, 222, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 61, 238, 171, 32, 243, 166, 105, 128, 207, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 186, 76, 255, 127, 214, 176, 66, 215, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 61, 180, 109, 172, 45, 181, 154, 104, 202, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 186, 76, 255, 127, 108, 176, 154, 215, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 61, 172, 173, 179, 237, 47, 106, 17, 207, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 255, 63, 255, 127, 225, 174, 29, 209, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 61, 224, 104, 62, 46, 165, 155, 3, 200, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 255, 63, 255, 127, 170, 174, 83, 209, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 61, 62, 174, 223, 232, 88, 106, 27, 206, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 68, 51, 255, 127, 84, 170, 38, 203, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 61, 158, 100, 172, 45, 131, 156, 41, 197, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 68, 51, 255, 127, 62, 170, 67, 203, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 61, 172, 173, 157, 228, 11, 106, 159, 204, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 125, 37, 255, 127, 247, 162, 76, 196, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 61, 238, 96, 239, 43, 90, 157, 215, 193, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 125, 37, 255, 127, 242, 162, 85, 196, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 61, 238, 171, 238, 224, 54, 105, 161, 202, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 60, 21, 255, 127, 155, 147, 24, 187, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 60, 216, 93, 241, 40, 122, 156, 38, 190, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 60, 21, 255, 127, 155, 147, 25, 187, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 60, 241, 168, 216, 221, 212, 103, 39, 200, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 77, 177, 174, 71, 225, 189, 104, 18, 3, 60, 0, 0, 0, 128, 109, 91, 146, 36, 38, 154, 196, 186, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 87, 177, 174, 71, 225, 189, 160, 155, 68, 60, 0, 0, 0, 128, 145, 164, 108, 219, 237, 101, 54, 197, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 0, 0, 59, 149, 83, 113, 53, 172, 136, 243, 220, 189, 104, 18, 3, 60, 194, 204, 175, 188, 13, 87, 38, 34, 64, 152, 212, 183, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 0, 0, 59, 149, 74, 113, 83, 172, 136, 243, 220, 189, 160, 155, 68, 60, 194, 204, 175, 188, 38, 162, 13, 215, 142, 99, 213, 193, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 0, 0, 124, 165, 223, 104, 121, 167, 175, 33, 208, 189, 104, 18, 3, 60, 254, 107, 44, 189, 16, 84, 16, 31, 211, 150, 91, 181, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 0, 0, 124, 165, 189, 104, 178, 167, 175, 33, 208, 189, 160, 155, 68, 60, 254, 107, 44, 189, 16, 159, 15, 212, 153, 98, 41, 190, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 0, 0, 68, 179, 167, 100, 33, 162, 64, 80, 187, 189, 104, 18, 3, 60, 86, 81, 122, 189, 82, 82, 97, 27, 232, 149, 95, 179, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 0, 0, 68, 179, 89, 100, 131, 162, 64, 80, 187, 189, 160, 155, 68, 60, 86, 81, 122, 189, 96, 155, 82, 210, 78, 99, 223, 186, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 0, 0, 255, 191, 143, 100, 111, 155, 9, 76, 159, 189, 104, 18, 3, 60, 9, 76, 159, 189, 192, 81, 31, 23, 127, 149, 226, 177, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 0, 0, 255, 191, 243, 99, 11, 156, 9, 76, 159, 189, 160, 155, 68, 60, 9, 76, 159, 189, 30, 151, 192, 209, 14, 100, 12, 184, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 0, 0, 186, 204, 194, 105, 139, 146, 86, 81, 122, 189, 104, 18, 3, 60, 64, 80, 187, 189, 82, 82, 75, 18, 137, 149, 234, 176, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 0, 0, 186, 204, 158, 104, 127, 147, 86, 81, 122, 189, 160, 155, 68, 60, 64, 80, 187, 189, 74, 146, 82, 210, 224, 100, 171, 181, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 0, 0, 129, 218, 234, 118, 107, 134, 254, 107, 44, 189, 104, 18, 3, 60, 175, 33, 208, 189, 16, 84, 222, 12, 246, 149, 118, 176, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 0, 0, 129, 218, 209, 116, 231, 135, 254, 107, 44, 189, 160, 155, 68, 60, 175, 33, 208, 189, 221, 140, 15, 212, 202, 101, 186, 179, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 0, 0, 194, 234, 64, 143, 91, 134, 194, 204, 175, 188, 104, 18, 3, 60, 136, 243, 220, 189, 13, 87, 203, 6, 179, 150, 134, 176, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 0, 0, 194, 234, 118, 140, 50, 133, 194, 204, 175, 188, 160, 155, 68, 60, 136, 243, 220, 189, 202, 134, 13, 215, 202, 102, 56, 178)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_eeav4")
-[sub_resource type="ConvexPolygonShape" id=2]
-margin = 0.002
-points = PoolVector3Array( 0.11, 0.012, -7.45058e-09, 0.107868, 0.012, 0.0214487, 0.11, 0.00799843, -7.45058e-09, 0.107868, 0.012, -0.0214702, 0.107868, 0.00799843, 0.0214487, 0.101623, 0.012, 0.0420791, 0.0784514, -0.004, 0.0155912, 0.0799804, -0.004, -7.45058e-09, 0.0784514, -0.004, -0.0156128, 0.107868, 0.00799843, -0.0214702, 0.101623, 0.012, -0.0421006, 0.101623, 0.00799843, 0.0420791, 0.0914585, 0.012, 0.0610944, 0.0739076, -0.004, 0.030601, 0.0739076, -0.004, -0.0306226, 0.101623, 0.00799843, -0.0421006, 0.0914585, 0.012, -0.0611159, 0.0914585, 0.00799843, 0.0610944, 0.0777623, 0.012, 0.0777623, 0.0664996, -0.004, 0.0444264, 0.0664996, -0.004, -0.0444479, 0.0914585, 0.00799843, -0.0611159, 0.0777623, 0.012, -0.0777839, 0.0565505, -0.004, 0.0565505, 0.0777623, 0.00799843, 0.0777623, 0.0610944, 0.012, 0.0914585, 0.0565505, -0.004, -0.056572, 0.0777623, 0.00799843, -0.0777839, 0.0610944, 0.012, -0.09148, 0.0610944, 0.00799843, 0.0914585, 0.0444264, -0.004, 0.0664996, 0.0420791, 0.012, 0.101623, 0.0444264, -0.004, -0.0665211, 0.0610944, 0.00799843, -0.09148, 0.0420791, 0.012, -0.101644, 0.0420791, 0.00799843, 0.101623, 0.030601, -0.004, 0.0739076, 0.0214487, 0.012, 0.107868, 0.030601, -0.004, -0.0739291, 0.0420791, 0.00799843, -0.101644, 0.0214487, 0.012, -0.10789, 0.0214487, 0.00799843, 0.107868, 0.0155912, -0.004, 0.0784514, -7.45058e-09, 0.012, 0.11, 0.0155912, -0.004, -0.078473, 0.0214487, 0.00799843, -0.10789, -7.45058e-09, 0.012, -0.11, -7.45058e-09, 0.00799843, 0.11, -7.45058e-09, -0.004, 0.0799804, -0.0214702, 0.012, 0.107868, -7.45058e-09, -0.004, -0.080002, -7.45058e-09, 0.00799843, -0.11, -0.0214702, 0.012, -0.10789, -0.0214702, 0.00799843, 0.107868, -0.0156128, -0.004, 0.0784514, -0.0421006, 0.012, 0.101623, -0.0156128, -0.004, -0.078473, -0.0214702, 0.00799843, -0.10789, -0.0421006, 0.012, -0.101644, -0.0421006, 0.00799843, 0.101623, -0.0306226, -0.004, 0.0739076, -0.0611159, 0.012, 0.0914585, -0.0306226, -0.004, -0.0739291, -0.0421006, 0.00799843, -0.101644, -0.0611159, 0.012, -0.09148, -0.0611159, 0.00799843, 0.0914585, -0.0444479, -0.004, 0.0664996, -0.0777839, 0.012, 0.0777623, -0.0444479, -0.004, -0.0665211, -0.0611159, 0.00799843, -0.09148, -0.0777839, 0.012, -0.0777839, -0.0777839, 0.00799843, 0.0777623, -0.056572, -0.004, 0.0565505, -0.09148, 0.012, 0.0610944, -0.056572, -0.004, -0.056572, -0.0777839, 0.00799843, -0.0777839, -0.09148, 0.012, -0.0611159, -0.09148, 0.00799843, 0.0610944, -0.0665211, -0.004, 0.0444264, -0.101644, 0.012, 0.0420791, -0.0665211, -0.004, -0.0444479, -0.09148, 0.00799843, -0.0611159, -0.101644, 0.012, -0.0421006, -0.101644, 0.00799843, 0.0420791, -0.0739291, -0.004, 0.030601, -0.10789, 0.012, 0.0214487, -0.0739291, -0.004, -0.0306226, -0.101644, 0.00799843, -0.0421006, -0.10789, 0.012, -0.0214702, -0.10789, 0.00799843, 0.0214487, -0.078473, -0.004, 0.0155912, -0.11, 0.012, -7.45058e-09, -0.078473, -0.004, -0.0156128, -0.10789, 0.00799843, -0.0214702, -0.11, 0.00799843, -7.45058e-09, -0.080002, -0.004, -7.45058e-09 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_v45tx"]
+points = PackedVector3Array(0.11, 0.012, -7.45058e-09, 0.107868, 0.012, 0.0214487, 0.11, 0.00799843, -7.45058e-09, 0.107868, 0.012, -0.0214702, 0.107868, 0.00799843, 0.0214487, 0.101623, 0.012, 0.0420791, 0.0784514, -0.004, 0.0155912, 0.0799804, -0.004, -7.45058e-09, 0.0784514, -0.004, -0.0156128, 0.107868, 0.00799843, -0.0214702, 0.101623, 0.012, -0.0421006, 0.101623, 0.00799843, 0.0420791, 0.0914585, 0.012, 0.0610944, 0.0739076, -0.004, 0.030601, 0.0739076, -0.004, -0.0306226, 0.101623, 0.00799843, -0.0421006, 0.0914585, 0.012, -0.0611159, 0.0914585, 0.00799843, 0.0610944, 0.0777623, 0.012, 0.0777623, 0.0664996, -0.004, 0.0444264, 0.0664996, -0.004, -0.0444479, 0.0914585, 0.00799843, -0.0611159, 0.0777623, 0.012, -0.0777839, 0.0565505, -0.004, 0.0565505, 0.0777623, 0.00799843, 0.0777623, 0.0610944, 0.012, 0.0914585, 0.0565505, -0.004, -0.056572, 0.0777623, 0.00799843, -0.0777839, 0.0610944, 0.012, -0.09148, 0.0610944, 0.00799843, 0.0914585, 0.0444264, -0.004, 0.0664996, 0.0420791, 0.012, 0.101623, 0.0444264, -0.004, -0.0665211, 0.0610944, 0.00799843, -0.09148, 0.0420791, 0.012, -0.101644, 0.0420791, 0.00799843, 0.101623, 0.030601, -0.004, 0.0739076, 0.0214487, 0.012, 0.107868, 0.030601, -0.004, -0.0739291, 0.0420791, 0.00799843, -0.101644, 0.0214487, 0.012, -0.10789, 0.0214487, 0.00799843, 0.107868, 0.0155912, -0.004, 0.0784514, -7.45058e-09, 0.012, 0.11, 0.0155912, -0.004, -0.078473, 0.0214487, 0.00799843, -0.10789, -7.45058e-09, 0.012, -0.11, -7.45058e-09, 0.00799843, 0.11, -7.45058e-09, -0.004, 0.0799804, -0.0214702, 0.012, 0.107868, -7.45058e-09, -0.004, -0.080002, -7.45058e-09, 0.00799843, -0.11, -0.0214702, 0.012, -0.10789, -0.0214702, 0.00799843, 0.107868, -0.0156128, -0.004, 0.0784514, -0.0421006, 0.012, 0.101623, -0.0156128, -0.004, -0.078473, -0.0214702, 0.00799843, -0.10789, -0.0421006, 0.012, -0.101644, -0.0421006, 0.00799843, 0.101623, -0.0306226, -0.004, 0.0739076, -0.0611159, 0.012, 0.0914585, -0.0306226, -0.004, -0.0739291, -0.0421006, 0.00799843, -0.101644, -0.0611159, 0.012, -0.09148, -0.0611159, 0.00799843, 0.0914585, -0.0444479, -0.004, 0.0664996, -0.0777839, 0.012, 0.0777623, -0.0444479, -0.004, -0.0665211, -0.0611159, 0.00799843, -0.09148, -0.0777839, 0.012, -0.0777839, -0.0777839, 0.00799843, 0.0777623, -0.056572, -0.004, 0.0565505, -0.09148, 0.012, 0.0610944, -0.056572, -0.004, -0.056572, -0.0777839, 0.00799843, -0.0777839, -0.09148, 0.012, -0.0611159, -0.09148, 0.00799843, 0.0610944, -0.0665211, -0.004, 0.0444264, -0.101644, 0.012, 0.0420791, -0.0665211, -0.004, -0.0444479, -0.09148, 0.00799843, -0.0611159, -0.101644, 0.012, -0.0421006, -0.101644, 0.00799843, 0.0420791, -0.0739291, -0.004, 0.030601, -0.10789, 0.012, 0.0214487, -0.0739291, -0.004, -0.0306226, -0.101644, 0.00799843, -0.0421006, -0.10789, 0.012, -0.0214702, -0.10789, 0.00799843, 0.0214487, -0.078473, -0.004, 0.0155912, -0.11, 0.012, -7.45058e-09, -0.078473, -0.004, -0.0156128, -0.10789, 0.00799843, -0.0214702, -0.11, 0.00799843, -7.45058e-09, -0.080002, -0.004, -7.45058e-09)
-[node name="Saucer" type="StaticBody"]
+[node name="Saucer" type="StaticBody3D"]
collision_mask = 0
-[node name="Saucer" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
+[node name="Saucer" type="MeshInstance3D" parent="."]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_le8dc")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("1_ycnf3")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 2 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("ConvexPolygonShape3D_v45tx")
-[node name="SnapZoneTeacup" parent="." instance=ExtResource( 1 )]
+[node name="SnapZoneTeacup" parent="." instance=ExtResource("1")]
snap_mode = 1
snap_require = "Teacup"
diff --git a/scenes/pickable_demo/objects/snap_toy_red.tscn b/scenes/pickable_demo/objects/snap_toy_red.tscn
index 2ae30f53..3f1ad2b1 100644
--- a/scenes/pickable_demo/objects/snap_toy_red.tscn
+++ b/scenes/pickable_demo/objects/snap_toy_red.tscn
@@ -1,31 +1,34 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://cf024hg5alcif"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"]
-[sub_resource type="ConvexPolygonShape" id=17]
+[sub_resource type="ConvexPolygonShape3D" id="17"]
margin = 0.01
-points = PoolVector3Array( -6.78003e-06, -0.04, 0.04, -6.78003e-06, 0.04, 0, -0.034641, -0.04, 0.02, 0.0346342, -0.04, 0.02, 0.0346342, -0.04, -0.0200078, -6.78003e-06, -0.04, -0.04, -0.034641, -0.04, -0.02 )
+points = PackedVector3Array(-6.78003e-06, -0.04, 0.04, -6.78003e-06, 0.04, 0, -0.034641, -0.04, 0.02, 0.0346342, -0.04, 0.02, 0.0346342, -0.04, -0.0200078, -6.78003e-06, -0.04, -0.04, -0.034641, -0.04, -0.02)
-[sub_resource type="CylinderMesh" id=1]
+[sub_resource type="CylinderMesh" id="1"]
top_radius = 0.0
bottom_radius = 0.04
height = 0.08
radial_segments = 6
rings = 0
-[sub_resource type="SpatialMaterial" id=2]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_byqew"]
+albedo_color = Color(1, 0, 0, 1)
-[node name="SnapToyRed" groups=["SnapToy", "SnapToyRed"] instance=ExtResource( 1 )]
+[node name="SnapToyRed" groups=["SnapToy", "SnapToyRed"] instance=ExtResource("1")]
+collision_layer = 4
collision_mask = 65543
+reset_transform_on_pickup = false
+picked_up_layer = 65536
ranged_grab_method = 0
-[node name="CollisionShape" parent="." index="0"]
-shape = SubResource( 17 )
+[node name="CollisionShape3D" parent="." index="1"]
+shape = SubResource("17")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="2"]
+mesh = SubResource("1")
+surface_material_override/0 = SubResource("StandardMaterial3D_byqew")
-[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )]
+[node name="HighlightRing" parent="." index="3" instance=ExtResource("2")]
diff --git a/scenes/pickable_demo/objects/snap_toy_yellow.tscn b/scenes/pickable_demo/objects/snap_toy_yellow.tscn
index d4027065..c159fbc6 100644
--- a/scenes/pickable_demo/objects/snap_toy_yellow.tscn
+++ b/scenes/pickable_demo/objects/snap_toy_yellow.tscn
@@ -1,33 +1,34 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://cboxrvj4xdi6f"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="2"]
-[sub_resource type="ConvexPolygonShape" id=20]
+[sub_resource type="ConvexPolygonShape3D" id="20"]
margin = 0.01
-points = PoolVector3Array( -0.0285317, -0.04, 0.00926607, -0.017634, -0.04, -0.0242705, -5.58421e-06, -0.04, 0.0299947, -0.0285317, 0.04, 0.00926607, -0.017634, 0.04, -0.0242705, 0.0176284, -0.04, -0.0242705, 0.0285261, -0.04, 0.00926607, -5.58421e-06, 0.04, 0.0299947, 0.0176284, 0.04, -0.0242705, 0.0285261, 0.04, 0.00926607 )
+points = PackedVector3Array(-0.0285317, -0.04, 0.00926607, -0.017634, -0.04, -0.0242705, -5.58421e-06, -0.04, 0.0299947, -0.0285317, 0.04, 0.00926607, -0.017634, 0.04, -0.0242705, 0.0176284, -0.04, -0.0242705, 0.0285261, -0.04, 0.00926607, -5.58421e-06, 0.04, 0.0299947, 0.0176284, 0.04, -0.0242705, 0.0285261, 0.04, 0.00926607)
-[sub_resource type="CylinderMesh" id=21]
+[sub_resource type="CylinderMesh" id="21"]
top_radius = 0.03
bottom_radius = 0.03
height = 0.08
radial_segments = 5
rings = 0
-[sub_resource type="SpatialMaterial" id=22]
-albedo_color = Color( 1, 1, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xkmnl"]
+albedo_color = Color(1, 1, 0, 1)
-[node name="SnapToyYellow" groups=["SnapToy", "SnapToyYellow"] instance=ExtResource( 1 )]
+[node name="SnapToyYellow" groups=["SnapToy", "SnapToyYellow"] instance=ExtResource("1")]
collision_layer = 4
collision_mask = 65543
+reset_transform_on_pickup = false
picked_up_layer = 65536
ranged_grab_method = 0
-[node name="CollisionShape" parent="." index="0"]
-shape = SubResource( 20 )
+[node name="CollisionShape3D" parent="." index="1"]
+shape = SubResource("20")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-mesh = SubResource( 21 )
-material/0 = SubResource( 22 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="." index="2"]
+mesh = SubResource("21")
+surface_material_override/0 = SubResource("StandardMaterial3D_xkmnl")
-[node name="HighlightRing" parent="." index="2" instance=ExtResource( 2 )]
+[node name="HighlightRing" parent="." index="3" instance=ExtResource("2")]
diff --git a/scenes/pickable_demo/objects/snap_tray.gd b/scenes/pickable_demo/objects/snap_tray.gd
index 5e20581d..2d452e8f 100644
--- a/scenes/pickable_demo/objects/snap_tray.gd
+++ b/scenes/pickable_demo/objects/snap_tray.gd
@@ -5,19 +5,19 @@ signal pointer_pressed(at)
## Snap-tray active state
-export var tray_active : bool = true setget _set_tray_active
+@export var tray_active : bool = true: set = _set_tray_active
## Active material
-export (Material) var active_material : Material
+@export var active_material : Material
## Inactive material
-export (Material) var inactive_material : Material
+@export var inactive_material : Material
## Called when the node enters the scene tree for the first time.
func _ready():
# Connect to the pointer pressed signal
- connect("pointer_pressed", self, "_on_pointer_pressed")
+ pointer_pressed.connect(_on_pointer_pressed)
# Update the tray_active state
_update_tray_active()
@@ -38,7 +38,6 @@ func _set_tray_active(new_value : bool) -> void:
## Update state based on tray_active property
func _update_tray_active() -> void:
- enabled = tray_active
$Body.material_override = active_material if tray_active else inactive_material
$SnapArea1/SnapZone1.enabled = tray_active
$SnapArea2/SnapZone2.enabled = tray_active
diff --git a/scenes/pickable_demo/objects/snap_tray.tscn b/scenes/pickable_demo/objects/snap_tray.tscn
index e9d6a7aa..981677d7 100644
--- a/scenes/pickable_demo/objects/snap_tray.tscn
+++ b/scenes/pickable_demo/objects/snap_tray.tscn
@@ -1,107 +1,99 @@
-[gd_scene load_steps=15 format=2]
+[gd_scene load_steps=13 format=3 uid="uid://c6rmke57xw5lg"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=2]
-[ext_resource path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=4]
-[ext_resource path="res://scenes/pickable_demo/objects/snap_tray.gd" type="Script" id=5]
-[ext_resource path="res://assets/wahooney.itch.io/white_grid.png" type="Texture" id=6]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="2"]
+[ext_resource type="Script" path="res://scenes/pickable_demo/objects/snap_tray.gd" id="2_bnyxu"]
+[ext_resource type="PackedScene" uid="uid://da2qgxxwwitl6" path="res://addons/godot-xr-tools/objects/highlight/highlight_ring.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="4"]
+[ext_resource type="Material" path="res://scenes/pickable_demo/objects/snap_tray_inactive_material.tres" id="4_4l77u"]
-[sub_resource type="SpatialMaterial" id=15]
-albedo_color = Color( 0.247059, 0.247059, 0.247059, 1 )
-albedo_texture = ExtResource( 6 )
-uv1_triplanar = true
+[sub_resource type="BoxShape3D" id="9"]
+size = Vector3(0.3, 0.4, 0.1)
-[sub_resource type="BoxShape" id=9]
-extents = Vector3( 0.15, 0.2, 0.05 )
+[sub_resource type="BoxMesh" id="1"]
+size = Vector3(0.3, 0.4, 0.1)
-[sub_resource type="CubeMesh" id=1]
-size = Vector3( 0.3, 0.4, 0.1 )
+[sub_resource type="BoxMesh" id="10"]
+size = Vector3(0.08, 0.08, 0.02)
-[sub_resource type="CubeMesh" id=10]
-size = Vector3( 0.08, 0.08, 0.02 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2eorr"]
+albedo_color = Color(1, 0, 0, 1)
-[sub_resource type="SpatialMaterial" id=11]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ti2r6"]
+albedo_color = Color(1, 1, 0, 1)
-[sub_resource type="SpatialMaterial" id=12]
-albedo_color = Color( 1, 1, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_73h0y"]
+albedo_color = Color(0.498039, 0.498039, 0.498039, 1)
-[sub_resource type="SpatialMaterial" id=13]
-albedo_color = Color( 0.498039, 0.498039, 0.498039, 1 )
-
-[sub_resource type="SpatialMaterial" id=14]
-albedo_color = Color( 0.498039, 0.498039, 0.498039, 1 )
-
-[node name="SnapTray" instance=ExtResource( 1 )]
+[node name="SnapTray" instance=ExtResource("1")]
collision_layer = 1048580
collision_mask = 65543
-script = ExtResource( 5 )
+script = ExtResource("2_bnyxu")
+tray_active = true
+active_material = ExtResource("2")
+inactive_material = ExtResource("4_4l77u")
picked_up_layer = 1114112
ranged_grab_method = 0
-tray_active = false
-active_material = ExtResource( 2 )
-inactive_material = SubResource( 15 )
-[node name="CollisionShape" parent="." index="0"]
-shape = SubResource( 9 )
+[node name="CollisionShape3D" parent="." index="0"]
+shape = SubResource("9")
-[node name="Body" type="MeshInstance" parent="." index="1"]
-mesh = SubResource( 1 )
-material/0 = ExtResource( 2 )
+[node name="Body" type="MeshInstance3D" parent="." index="1"]
+mesh = SubResource("1")
+surface_material_override/0 = ExtResource("2")
-[node name="SnapArea1" type="MeshInstance" parent="." index="2"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, 0.06, 0.06 )
-mesh = SubResource( 10 )
-material/0 = SubResource( 11 )
+[node name="SnapArea1" type="MeshInstance3D" parent="." index="2"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, 0.06, 0.06)
+mesh = SubResource("10")
+surface_material_override/0 = SubResource("StandardMaterial3D_2eorr")
-[node name="SnapZone1" parent="SnapArea1" index="0" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 )
+[node name="SnapZone1" parent="SnapArea1" index="0" instance=ExtResource("4")]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.05
snap_require = "SnapToyRed"
-[node name="HighlightRing" parent="SnapArea1/SnapZone1" index="1" instance=ExtResource( 3 )]
+[node name="HighlightRing" parent="SnapArea1/SnapZone1" index="1" instance=ExtResource("3")]
-[node name="SnapArea2" type="MeshInstance" parent="." index="3"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, 0.06, 0.06 )
-mesh = SubResource( 10 )
-material/0 = SubResource( 12 )
+[node name="SnapArea2" type="MeshInstance3D" parent="." index="3"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, 0.06, 0.06)
+mesh = SubResource("10")
+surface_material_override/0 = SubResource("StandardMaterial3D_ti2r6")
-[node name="SnapZone2" parent="SnapArea2" index="0" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 )
+[node name="SnapZone2" parent="SnapArea2" index="0" instance=ExtResource("4")]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.05
snap_require = "SnapToyYellow"
-[node name="HighlightRing" parent="SnapArea2/SnapZone2" index="1" instance=ExtResource( 3 )]
+[node name="HighlightRing" parent="SnapArea2/SnapZone2" index="1" instance=ExtResource("3")]
-[node name="SnapArea3" type="MeshInstance" parent="." index="4"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.06, 0.06 )
-mesh = SubResource( 10 )
-material/0 = SubResource( 13 )
+[node name="SnapArea3" type="MeshInstance3D" parent="." index="4"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.06, -0.06, 0.06)
+mesh = SubResource("10")
+surface_material_override/0 = SubResource("StandardMaterial3D_73h0y")
-[node name="SnapZone3" parent="SnapArea3" index="0" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 )
+[node name="SnapZone3" parent="SnapArea3" index="0" instance=ExtResource("4")]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.05
snap_require = "SnapToy"
-[node name="HighlightRing" parent="SnapArea3/SnapZone3" index="1" instance=ExtResource( 3 )]
+[node name="HighlightRing" parent="SnapArea3/SnapZone3" index="1" instance=ExtResource("3")]
-[node name="SnapArea4" type="MeshInstance" parent="." index="5"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, -0.06, 0.06 )
-mesh = SubResource( 10 )
-material/0 = SubResource( 14 )
+[node name="SnapArea4" type="MeshInstance3D" parent="." index="5"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.06, -0.06, 0.06)
+mesh = SubResource("10")
+surface_material_override/0 = SubResource("StandardMaterial3D_73h0y")
-[node name="SnapZone4" parent="SnapArea4" index="0" instance=ExtResource( 4 )]
-transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06 )
+[node name="SnapZone4" parent="SnapArea4" index="0" instance=ExtResource("4")]
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.06)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.05
snap_require = "SnapToy"
-[node name="HighlightRing" parent="SnapArea4/SnapZone4" index="1" instance=ExtResource( 3 )]
+[node name="HighlightRing" parent="SnapArea4/SnapZone4" index="1" instance=ExtResource("3")]
diff --git a/scenes/pickable_demo/objects/teacup.tscn b/scenes/pickable_demo/objects/teacup.tscn
index d80e236e..452dc7d1 100644
--- a/scenes/pickable_demo/objects/teacup.tscn
+++ b/scenes/pickable_demo/objects/teacup.tscn
@@ -1,65 +1,81 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=15 format=3 uid="uid://chww0na0ryl1m"]
-[ext_resource path="res://addons/godot-xr-tools/objects/pickable.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn" type="PackedScene" id=4]
-[ext_resource path="res://scenes/pickable_demo/materials/porcelain.tres" type="Material" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Pinky.anim" type="Animation" id=7]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Pinky.anim" type="Animation" id=8]
+[ext_resource type="PackedScene" uid="uid://c8l60rnugru40" path="res://addons/godot-xr-tools/objects/pickable.tscn" id="1_q232w"]
+[ext_resource type="PackedScene" uid="uid://ctw7nbntd5pcj" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_right.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://c25yxb0vt53vc" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_hand_left.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://dh8grd7s3n8kg" path="res://addons/godot-xr-tools/objects/grab_points/grab_point_snap.tscn" id="4"]
+[ext_resource type="Animation" uid="uid://bqnoubqq7ogwu" path="res://addons/godot-xr-tools/hands/animations/left/Pinky.res" id="4_a44uc"]
+[ext_resource type="Material" path="res://scenes/pickable_demo/materials/porcelain.tres" id="5"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="5_rkolq"]
+[ext_resource type="Animation" uid="uid://b6ra3rqia1gvb" path="res://addons/godot-xr-tools/hands/animations/right/Pinky.res" id="7_m23hc"]
-[sub_resource type="ArrayMesh" id=1]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ea5pe"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_23l5t"]
+_surfaces = [{
+"aabb": AABB(-0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12),
+"format": 4097,
+"index_count": 3276,
+"index_data": PackedByteArray(122, 1, 10, 0, 2, 0, 122, 1, 14, 0, 10, 0, 126, 1, 14, 0, 122, 1, 126, 1, 18, 0, 14, 0, 1, 0, 5, 0, 120, 1, 1, 0, 7, 0, 5, 0, 128, 1, 18, 0, 126, 1, 128, 1, 20, 0, 18, 0, 2, 0, 7, 0, 1, 0, 2, 0, 10, 0, 7, 0, 246, 0, 20, 0, 128, 1, 20, 0, 34, 0, 18, 0, 20, 0, 36, 0, 34, 0, 10, 0, 24, 0, 7, 0, 10, 0, 26, 0, 24, 0, 246, 0, 36, 0, 20, 0, 14, 0, 26, 0, 10, 0, 14, 0, 31, 0, 26, 0, 18, 0, 31, 0, 14, 0, 18, 0, 34, 0, 31, 0, 7, 0, 22, 0, 5, 0, 7, 0, 24, 0, 22, 0, 34, 0, 53, 0, 31, 0, 34, 0, 55, 0, 53, 0, 24, 0, 42, 0, 22, 0, 24, 0, 46, 0, 42, 0, 36, 0, 55, 0, 34, 0, 36, 0, 57, 0, 55, 0, 26, 0, 46, 0, 24, 0, 26, 0, 50, 0, 46, 0, 246, 0, 57, 0, 36, 0, 31, 0, 50, 0, 26, 0, 31, 0, 53, 0, 50, 0, 246, 0, 78, 0, 57, 0, 53, 0, 63, 0, 50, 0, 53, 0, 70, 0, 63, 0, 55, 0, 70, 0, 53, 0, 55, 0, 74, 0, 70, 0, 46, 0, 59, 0, 42, 0, 46, 0, 61, 0, 59, 0, 57, 0, 74, 0, 55, 0, 57, 0, 78, 0, 74, 0, 50, 0, 61, 0, 46, 0, 50, 0, 63, 0, 61, 0, 61, 0, 81, 0, 59, 0, 61, 0, 85, 0, 81, 0, 78, 0, 91, 0, 74, 0, 78, 0, 93, 0, 91, 0, 63, 0, 85, 0, 61, 0, 63, 0, 87, 0, 85, 0, 246, 0, 93, 0, 78, 0, 70, 0, 87, 0, 63, 0, 70, 0, 90, 0, 87, 0, 74, 0, 90, 0, 70, 0, 74, 0, 91, 0, 90, 0, 91, 0, 106, 0, 90, 0, 91, 0, 109, 0, 106, 0, 223, 1, 97, 0, 222, 1, 97, 0, 81, 0, 85, 0, 81, 0, 240, 1, 96, 0, 81, 0, 218, 1, 240, 1, 221, 1, 97, 0, 223, 1, 221, 1, 81, 0, 97, 0, 81, 0, 219, 1, 218, 1, 220, 1, 81, 0, 221, 1, 81, 0, 220, 1, 219, 1, 93, 0, 109, 0, 91, 0, 93, 0, 114, 0, 109, 0, 87, 0, 97, 0, 85, 0, 87, 0, 102, 0, 97, 0, 246, 0, 114, 0, 93, 0, 230, 1, 106, 0, 227, 1, 87, 0, 228, 1, 102, 0, 87, 0, 224, 1, 228, 1, 230, 1, 90, 0, 106, 0, 229, 1, 90, 0, 230, 1, 87, 0, 226, 1, 224, 1, 225, 1, 90, 0, 229, 1, 87, 0, 225, 1, 226, 1, 90, 0, 225, 1, 87, 0, 102, 0, 122, 0, 97, 0, 102, 0, 123, 0, 122, 0, 246, 0, 130, 0, 114, 0, 231, 1, 102, 0, 228, 1, 125, 0, 227, 1, 106, 0, 125, 0, 235, 1, 227, 1, 231, 1, 123, 0, 102, 0, 233, 1, 123, 0, 231, 1, 125, 0, 234, 1, 235, 1, 232, 1, 123, 0, 233, 1, 125, 0, 232, 1, 234, 1, 123, 0, 232, 1, 125, 0, 109, 0, 125, 0, 106, 0, 109, 0, 128, 0, 125, 0, 241, 1, 96, 0, 240, 1, 117, 0, 97, 0, 122, 0, 97, 0, 237, 1, 222, 1, 97, 0, 236, 1, 237, 1, 241, 1, 117, 0, 96, 0, 238, 1, 117, 0, 241, 1, 117, 0, 236, 1, 97, 0, 239, 1, 117, 0, 238, 1, 117, 0, 239, 1, 236, 1, 114, 0, 128, 0, 109, 0, 114, 0, 130, 0, 128, 0, 122, 0, 134, 0, 117, 0, 122, 0, 138, 0, 134, 0, 130, 0, 150, 0, 128, 0, 130, 0, 154, 0, 150, 0, 123, 0, 138, 0, 122, 0, 123, 0, 140, 0, 138, 0, 246, 0, 154, 0, 130, 0, 125, 0, 140, 0, 123, 0, 125, 0, 146, 0, 140, 0, 128, 0, 146, 0, 125, 0, 128, 0, 150, 0, 146, 0, 146, 0, 160, 0, 140, 0, 146, 0, 162, 0, 160, 0, 150, 0, 162, 0, 146, 0, 150, 0, 164, 0, 162, 0, 138, 0, 155, 0, 134, 0, 138, 0, 157, 0, 155, 0, 154, 0, 164, 0, 150, 0, 154, 0, 166, 0, 164, 0, 140, 0, 157, 0, 138, 0, 140, 0, 160, 0, 157, 0, 246, 0, 166, 0, 154, 0, 160, 0, 174, 0, 157, 0, 160, 0, 180, 0, 174, 0, 246, 0, 187, 0, 166, 0, 162, 0, 180, 0, 160, 0, 162, 0, 182, 0, 180, 0, 164, 0, 182, 0, 162, 0, 164, 0, 184, 0, 182, 0, 169, 0, 157, 0, 174, 0, 169, 0, 155, 0, 157, 0, 166, 0, 184, 0, 164, 0, 166, 0, 187, 0, 184, 0, 184, 0, 195, 0, 182, 0, 184, 0, 198, 0, 195, 0, 174, 0, 189, 0, 169, 0, 174, 0, 192, 0, 189, 0, 187, 0, 198, 0, 184, 0, 187, 0, 200, 0, 198, 0, 180, 0, 192, 0, 174, 0, 180, 0, 194, 0, 192, 0, 246, 0, 200, 0, 187, 0, 182, 0, 194, 0, 180, 0, 182, 0, 195, 0, 194, 0, 195, 0, 204, 0, 194, 0, 195, 0, 207, 0, 204, 0, 198, 0, 207, 0, 195, 0, 198, 0, 208, 0, 207, 0, 192, 0, 201, 0, 189, 0, 192, 0, 202, 0, 201, 0, 200, 0, 208, 0, 198, 0, 200, 0, 209, 0, 208, 0, 194, 0, 202, 0, 192, 0, 194, 0, 204, 0, 202, 0, 246, 0, 209, 0, 200, 0, 209, 0, 216, 0, 208, 0, 209, 0, 218, 0, 216, 0, 204, 0, 211, 0, 202, 0, 204, 0, 212, 0, 211, 0, 246, 0, 218, 0, 209, 0, 207, 0, 212, 0, 204, 0, 207, 0, 214, 0, 212, 0, 208, 0, 214, 0, 207, 0, 208, 0, 216, 0, 214, 0, 202, 0, 210, 0, 201, 0, 202, 0, 211, 0, 210, 0, 216, 0, 225, 0, 214, 0, 216, 0, 226, 0, 225, 0, 211, 0, 220, 0, 210, 0, 211, 0, 221, 0, 220, 0, 218, 0, 226, 0, 216, 0, 218, 0, 227, 0, 226, 0, 212, 0, 221, 0, 211, 0, 212, 0, 223, 0, 221, 0, 246, 0, 227, 0, 218, 0, 214, 0, 223, 0, 212, 0, 214, 0, 225, 0, 223, 0, 246, 0, 236, 0, 227, 0, 225, 0, 230, 0, 223, 0, 225, 0, 232, 0, 230, 0, 226, 0, 232, 0, 225, 0, 226, 0, 234, 0, 232, 0, 221, 0, 228, 0, 220, 0, 221, 0, 229, 0, 228, 0, 227, 0, 234, 0, 226, 0, 227, 0, 236, 0, 234, 0, 223, 0, 229, 0, 221, 0, 223, 0, 230, 0, 229, 0, 236, 0, 244, 0, 234, 0, 236, 0, 245, 0, 244, 0, 230, 0, 241, 0, 229, 0, 230, 0, 242, 0, 241, 0, 246, 0, 245, 0, 236, 0, 232, 0, 242, 0, 230, 0, 232, 0, 243, 0, 242, 0, 234, 0, 243, 0, 232, 0, 234, 0, 244, 0, 243, 0, 229, 0, 239, 0, 228, 0, 229, 0, 241, 0, 239, 0, 244, 0, 2, 1, 243, 0, 244, 0, 5, 1, 2, 1, 241, 0, 247, 0, 239, 0, 241, 0, 250, 0, 247, 0, 245, 0, 5, 1, 244, 0, 245, 0, 8, 1, 5, 1, 242, 0, 250, 0, 241, 0, 242, 0, 253, 0, 250, 0, 246, 0, 8, 1, 245, 0, 243, 0, 253, 0, 242, 0, 243, 0, 2, 1, 253, 0, 246, 0, 24, 1, 8, 1, 2, 1, 16, 1, 253, 0, 2, 1, 19, 1, 16, 1, 5, 1, 19, 1, 2, 1, 5, 1, 20, 1, 19, 1, 250, 0, 13, 1, 247, 0, 250, 0, 15, 1, 13, 1, 8, 1, 20, 1, 5, 1, 8, 1, 24, 1, 20, 1, 253, 0, 15, 1, 250, 0, 253, 0, 16, 1, 15, 1, 24, 1, 42, 1, 20, 1, 24, 1, 46, 1, 42, 1, 16, 1, 32, 1, 15, 1, 16, 1, 36, 1, 32, 1, 246, 0, 46, 1, 24, 1, 19, 1, 36, 1, 16, 1, 19, 1, 41, 1, 36, 1, 20, 1, 41, 1, 19, 1, 20, 1, 42, 1, 41, 1, 15, 1, 28, 1, 13, 1, 15, 1, 32, 1, 28, 1, 42, 1, 55, 1, 41, 1, 42, 1, 59, 1, 55, 1, 32, 1, 49, 1, 28, 1, 32, 1, 51, 1, 49, 1, 46, 1, 59, 1, 42, 1, 46, 1, 61, 1, 59, 1, 36, 1, 51, 1, 32, 1, 36, 1, 53, 1, 51, 1, 246, 0, 61, 1, 46, 1, 41, 1, 53, 1, 36, 1, 41, 1, 55, 1, 53, 1, 246, 0, 83, 1, 61, 1, 55, 1, 72, 1, 53, 1, 55, 1, 77, 1, 72, 1, 59, 1, 77, 1, 55, 1, 59, 1, 80, 1, 77, 1, 51, 1, 65, 1, 49, 1, 51, 1, 68, 1, 65, 1, 61, 1, 80, 1, 59, 1, 61, 1, 83, 1, 80, 1, 53, 1, 68, 1, 51, 1, 53, 1, 72, 1, 68, 1, 84, 1, 68, 1, 86, 1, 84, 1, 65, 1, 68, 1, 83, 1, 94, 1, 80, 1, 83, 1, 98, 1, 94, 1, 72, 1, 86, 1, 68, 1, 72, 1, 88, 1, 86, 1, 246, 0, 98, 1, 83, 1, 77, 1, 88, 1, 72, 1, 77, 1, 93, 1, 88, 1, 80, 1, 93, 1, 77, 1, 80, 1, 94, 1, 93, 1, 94, 1, 114, 1, 93, 1, 94, 1, 116, 1, 114, 1, 86, 1, 102, 1, 84, 1, 86, 1, 107, 1, 102, 1, 98, 1, 116, 1, 94, 1, 98, 1, 118, 1, 116, 1, 88, 1, 107, 1, 86, 1, 88, 1, 110, 1, 107, 1, 246, 0, 118, 1, 98, 1, 93, 1, 110, 1, 88, 1, 93, 1, 114, 1, 110, 1, 110, 1, 1, 0, 107, 1, 110, 1, 2, 0, 1, 0, 246, 0, 128, 1, 118, 1, 114, 1, 2, 0, 110, 1, 114, 1, 122, 1, 2, 0, 116, 1, 122, 1, 114, 1, 116, 1, 126, 1, 122, 1, 107, 1, 120, 1, 102, 1, 107, 1, 1, 0, 120, 1, 118, 1, 126, 1, 116, 1, 118, 1, 128, 1, 126, 1, 215, 1, 32, 0, 38, 0, 215, 1, 12, 0, 32, 0, 217, 1, 48, 0, 152, 1, 216, 1, 41, 0, 45, 0, 216, 1, 16, 0, 41, 0, 8, 0, 32, 0, 12, 0, 8, 0, 29, 0, 32, 0, 217, 1, 45, 0, 48, 0, 217, 1, 216, 1, 45, 0, 41, 0, 80, 0, 45, 0, 41, 0, 76, 0, 80, 0, 29, 0, 66, 0, 32, 0, 29, 0, 65, 0, 66, 0, 48, 0, 83, 0, 152, 1, 83, 0, 119, 0, 152, 1, 80, 0, 119, 0, 83, 0, 80, 0, 116, 0, 119, 0, 66, 0, 107, 0, 72, 0, 66, 0, 103, 0, 107, 0, 136, 0, 107, 0, 103, 0, 136, 0, 142, 0, 107, 0, 119, 0, 151, 0, 152, 1, 142, 0, 111, 0, 107, 0, 142, 0, 144, 0, 111, 0, 111, 0, 147, 0, 116, 0, 111, 0, 144, 0, 147, 0, 132, 0, 103, 0, 100, 0, 132, 0, 136, 0, 103, 0, 144, 0, 181, 0, 147, 0, 144, 0, 178, 0, 181, 0, 168, 0, 136, 0, 132, 0, 168, 0, 172, 0, 136, 0, 172, 0, 142, 0, 136, 0, 172, 0, 175, 0, 142, 0, 151, 0, 185, 0, 152, 1, 175, 0, 144, 0, 142, 0, 175, 0, 178, 0, 144, 0, 185, 0, 206, 0, 152, 1, 178, 0, 205, 0, 181, 0, 178, 0, 203, 0, 205, 0, 206, 0, 222, 0, 224, 0, 206, 0, 205, 0, 222, 0, 152, 1, 206, 0, 224, 0, 205, 0, 219, 0, 222, 0, 205, 0, 203, 0, 219, 0, 222, 0, 237, 0, 238, 0, 222, 0, 219, 0, 237, 0, 213, 0, 233, 0, 215, 0, 213, 0, 231, 0, 233, 0, 224, 0, 238, 0, 240, 0, 224, 0, 222, 0, 238, 0, 152, 1, 224, 0, 240, 0, 233, 0, 0, 1, 235, 0, 233, 0, 252, 0, 0, 1, 152, 1, 240, 0, 10, 1, 238, 0, 4, 1, 7, 1, 238, 0, 237, 0, 4, 1, 240, 0, 7, 1, 10, 1, 240, 0, 238, 0, 7, 1, 252, 0, 23, 1, 27, 1, 252, 0, 248, 0, 23, 1, 10, 1, 38, 1, 45, 1, 10, 1, 7, 1, 38, 1, 27, 1, 0, 1, 252, 0, 27, 1, 30, 1, 0, 1, 152, 1, 10, 1, 45, 1, 30, 1, 4, 1, 0, 1, 30, 1, 35, 1, 4, 1, 7, 1, 35, 1, 38, 1, 7, 1, 4, 1, 35, 1, 66, 1, 35, 1, 30, 1, 66, 1, 70, 1, 35, 1, 38, 1, 70, 1, 74, 1, 38, 1, 35, 1, 70, 1, 27, 1, 56, 1, 62, 1, 27, 1, 23, 1, 56, 1, 45, 1, 74, 1, 78, 1, 45, 1, 38, 1, 74, 1, 62, 1, 30, 1, 27, 1, 62, 1, 66, 1, 30, 1, 152, 1, 45, 1, 78, 1, 97, 1, 66, 1, 62, 1, 97, 1, 101, 1, 66, 1, 152, 1, 78, 1, 112, 1, 101, 1, 70, 1, 66, 1, 101, 1, 104, 1, 70, 1, 74, 1, 104, 1, 109, 1, 74, 1, 70, 1, 104, 1, 90, 1, 62, 1, 56, 1, 90, 1, 97, 1, 62, 1, 78, 1, 109, 1, 112, 1, 78, 1, 74, 1, 109, 1, 134, 1, 109, 1, 104, 1, 134, 1, 136, 1, 109, 1, 124, 1, 97, 1, 90, 1, 124, 1, 130, 1, 97, 1, 136, 1, 112, 1, 109, 1, 136, 1, 138, 1, 112, 1, 97, 1, 132, 1, 101, 1, 97, 1, 130, 1, 132, 1, 138, 1, 152, 1, 112, 1, 132, 1, 104, 1, 101, 1, 132, 1, 134, 1, 104, 1, 146, 1, 136, 1, 134, 1, 146, 1, 148, 1, 136, 1, 124, 1, 142, 1, 130, 1, 124, 1, 140, 1, 142, 1, 148, 1, 138, 1, 136, 1, 148, 1, 150, 1, 138, 1, 150, 1, 152, 1, 138, 1, 162, 1, 150, 1, 148, 1, 162, 1, 164, 1, 150, 1, 164, 1, 152, 1, 150, 1, 160, 1, 148, 1, 146, 1, 160, 1, 162, 1, 148, 1, 140, 1, 156, 1, 142, 1, 140, 1, 154, 1, 156, 1, 170, 1, 162, 1, 160, 1, 170, 1, 171, 1, 162, 1, 171, 1, 164, 1, 162, 1, 171, 1, 172, 1, 164, 1, 156, 1, 169, 1, 158, 1, 156, 1, 168, 1, 169, 1, 172, 1, 152, 1, 164, 1, 178, 1, 152, 1, 172, 1, 176, 1, 171, 1, 170, 1, 176, 1, 177, 1, 171, 1, 177, 1, 172, 1, 171, 1, 177, 1, 178, 1, 172, 1, 168, 1, 175, 1, 169, 1, 168, 1, 174, 1, 175, 1, 183, 1, 178, 1, 177, 1, 183, 1, 184, 1, 178, 1, 184, 1, 152, 1, 178, 1, 175, 1, 182, 1, 176, 1, 175, 1, 181, 1, 182, 1, 182, 1, 177, 1, 176, 1, 182, 1, 183, 1, 177, 1, 188, 1, 183, 1, 182, 1, 188, 1, 189, 1, 183, 1, 189, 1, 184, 1, 183, 1, 189, 1, 190, 1, 184, 1, 180, 1, 187, 1, 181, 1, 180, 1, 186, 1, 187, 1, 190, 1, 152, 1, 184, 1, 196, 1, 152, 1, 190, 1, 194, 1, 189, 1, 188, 1, 194, 1, 195, 1, 189, 1, 195, 1, 190, 1, 189, 1, 195, 1, 196, 1, 190, 1, 201, 1, 196, 1, 195, 1, 201, 1, 202, 1, 196, 1, 202, 1, 152, 1, 196, 1, 200, 1, 195, 1, 194, 1, 200, 1, 201, 1, 195, 1, 207, 1, 202, 1, 201, 1, 207, 1, 208, 1, 202, 1, 208, 1, 152, 1, 202, 1, 199, 1, 206, 1, 200, 1, 199, 1, 205, 1, 206, 1, 214, 1, 152, 1, 208, 1, 205, 1, 212, 1, 206, 1, 205, 1, 211, 1, 212, 1, 206, 1, 213, 1, 207, 1, 206, 1, 212, 1, 213, 1, 210, 1, 8, 0, 12, 0, 210, 1, 209, 1, 8, 0, 12, 0, 211, 1, 210, 1, 12, 0, 215, 1, 211, 1, 214, 1, 217, 1, 152, 1, 211, 1, 16, 0, 212, 1, 211, 1, 215, 1, 16, 0, 16, 0, 213, 1, 212, 1, 16, 0, 216, 1, 213, 1, 13, 1, 10, 2, 247, 0, 13, 1, 11, 2, 10, 2, 155, 0, 6, 2, 134, 0, 155, 0, 15, 2, 6, 2, 0, 0, 23, 0, 21, 0, 0, 0, 3, 0, 23, 0, 3, 0, 25, 0, 23, 0, 3, 0, 4, 0, 25, 0, 4, 0, 27, 0, 25, 0, 4, 0, 6, 0, 27, 0, 6, 0, 28, 0, 27, 0, 6, 0, 9, 0, 28, 0, 9, 0, 30, 0, 28, 0, 9, 0, 11, 0, 30, 0, 11, 0, 33, 0, 30, 0, 11, 0, 13, 0, 33, 0, 13, 0, 35, 0, 33, 0, 13, 0, 15, 0, 35, 0, 15, 0, 37, 0, 35, 0, 15, 0, 17, 0, 37, 0, 17, 0, 39, 0, 37, 0, 17, 0, 19, 0, 39, 0, 19, 0, 21, 0, 39, 0, 19, 0, 0, 0, 21, 0, 21, 0, 43, 0, 40, 0, 21, 0, 23, 0, 43, 0, 23, 0, 44, 0, 43, 0, 23, 0, 25, 0, 44, 0, 25, 0, 47, 0, 44, 0, 25, 0, 27, 0, 47, 0, 27, 0, 49, 0, 47, 0, 27, 0, 28, 0, 49, 0, 28, 0, 51, 0, 49, 0, 28, 0, 30, 0, 51, 0, 30, 0, 52, 0, 51, 0, 30, 0, 33, 0, 52, 0, 33, 0, 54, 0, 52, 0, 33, 0, 35, 0, 54, 0, 35, 0, 56, 0, 54, 0, 35, 0, 37, 0, 56, 0, 37, 0, 58, 0, 56, 0, 37, 0, 39, 0, 58, 0, 39, 0, 40, 0, 58, 0, 39, 0, 21, 0, 40, 0, 40, 0, 62, 0, 60, 0, 40, 0, 43, 0, 62, 0, 43, 0, 64, 0, 62, 0, 43, 0, 44, 0, 64, 0, 44, 0, 67, 0, 64, 0, 44, 0, 47, 0, 67, 0, 47, 0, 69, 0, 67, 0, 47, 0, 49, 0, 69, 0, 49, 0, 71, 0, 69, 0, 49, 0, 51, 0, 71, 0, 51, 0, 73, 0, 71, 0, 51, 0, 52, 0, 73, 0, 52, 0, 75, 0, 73, 0, 52, 0, 54, 0, 75, 0, 54, 0, 77, 0, 75, 0, 54, 0, 56, 0, 77, 0, 56, 0, 79, 0, 77, 0, 56, 0, 58, 0, 79, 0, 58, 0, 60, 0, 79, 0, 58, 0, 40, 0, 60, 0, 60, 0, 84, 0, 82, 0, 60, 0, 62, 0, 84, 0, 62, 0, 86, 0, 84, 0, 62, 0, 64, 0, 86, 0, 64, 0, 88, 0, 86, 0, 64, 0, 67, 0, 88, 0, 67, 0, 89, 0, 88, 0, 67, 0, 69, 0, 89, 0, 69, 0, 92, 0, 89, 0, 69, 0, 71, 0, 92, 0, 71, 0, 94, 0, 92, 0, 71, 0, 73, 0, 94, 0, 73, 0, 95, 0, 94, 0, 73, 0, 75, 0, 95, 0, 75, 0, 98, 0, 95, 0, 75, 0, 77, 0, 98, 0, 77, 0, 99, 0, 98, 0, 77, 0, 79, 0, 99, 0, 79, 0, 82, 0, 99, 0, 79, 0, 60, 0, 82, 0, 82, 0, 104, 0, 101, 0, 82, 0, 84, 0, 104, 0, 84, 0, 105, 0, 104, 0, 84, 0, 86, 0, 105, 0, 86, 0, 108, 0, 105, 0, 86, 0, 88, 0, 108, 0, 88, 0, 110, 0, 108, 0, 88, 0, 89, 0, 110, 0, 89, 0, 112, 0, 110, 0, 89, 0, 92, 0, 112, 0, 92, 0, 113, 0, 112, 0, 92, 0, 94, 0, 113, 0, 94, 0, 115, 0, 113, 0, 94, 0, 95, 0, 115, 0, 95, 0, 118, 0, 115, 0, 95, 0, 98, 0, 118, 0, 98, 0, 120, 0, 118, 0, 98, 0, 99, 0, 120, 0, 99, 0, 101, 0, 120, 0, 99, 0, 82, 0, 101, 0, 101, 0, 124, 0, 121, 0, 101, 0, 104, 0, 124, 0, 104, 0, 126, 0, 124, 0, 104, 0, 105, 0, 126, 0, 105, 0, 127, 0, 126, 0, 105, 0, 108, 0, 127, 0, 108, 0, 129, 0, 127, 0, 108, 0, 110, 0, 129, 0, 110, 0, 131, 0, 129, 0, 110, 0, 112, 0, 131, 0, 112, 0, 133, 0, 131, 0, 112, 0, 113, 0, 133, 0, 113, 0, 135, 0, 133, 0, 113, 0, 115, 0, 135, 0, 115, 0, 137, 0, 135, 0, 115, 0, 118, 0, 137, 0, 118, 0, 139, 0, 137, 0, 118, 0, 120, 0, 139, 0, 120, 0, 121, 0, 139, 0, 120, 0, 101, 0, 121, 0, 121, 0, 143, 0, 141, 0, 121, 0, 124, 0, 143, 0, 124, 0, 145, 0, 143, 0, 124, 0, 126, 0, 145, 0, 126, 0, 148, 0, 145, 0, 126, 0, 127, 0, 148, 0, 127, 0, 149, 0, 148, 0, 127, 0, 129, 0, 149, 0, 129, 0, 152, 0, 149, 0, 129, 0, 131, 0, 152, 0, 131, 0, 153, 0, 152, 0, 131, 0, 133, 0, 153, 0, 133, 0, 156, 0, 153, 0, 133, 0, 135, 0, 156, 0, 135, 0, 158, 0, 156, 0, 135, 0, 137, 0, 158, 0, 137, 0, 159, 0, 158, 0, 137, 0, 139, 0, 159, 0, 139, 0, 141, 0, 159, 0, 139, 0, 121, 0, 141, 0, 141, 0, 163, 0, 161, 0, 141, 0, 143, 0, 163, 0, 143, 0, 165, 0, 163, 0, 143, 0, 145, 0, 165, 0, 145, 0, 167, 0, 165, 0, 145, 0, 148, 0, 167, 0, 148, 0, 170, 0, 167, 0, 148, 0, 149, 0, 170, 0, 149, 0, 171, 0, 170, 0, 149, 0, 152, 0, 171, 0, 152, 0, 173, 0, 171, 0, 152, 0, 153, 0, 173, 0, 153, 0, 176, 0, 173, 0, 153, 0, 156, 0, 176, 0, 156, 0, 177, 0, 176, 0, 156, 0, 158, 0, 177, 0, 158, 0, 179, 0, 177, 0, 158, 0, 159, 0, 179, 0, 159, 0, 161, 0, 179, 0, 159, 0, 141, 0, 161, 0, 163, 0, 240, 1, 161, 0, 163, 0, 241, 1, 240, 1, 163, 0, 238, 1, 241, 1, 238, 1, 165, 0, 183, 0, 238, 1, 163, 0, 165, 0, 165, 0, 186, 0, 183, 0, 165, 0, 167, 0, 186, 0, 167, 0, 188, 0, 186, 0, 167, 0, 170, 0, 188, 0, 170, 0, 190, 0, 188, 0, 170, 0, 171, 0, 190, 0, 171, 0, 191, 0, 190, 0, 171, 0, 173, 0, 191, 0, 173, 0, 193, 0, 191, 0, 173, 0, 176, 0, 193, 0, 176, 0, 196, 0, 193, 0, 176, 0, 177, 0, 196, 0, 196, 0, 218, 1, 219, 1, 218, 1, 177, 0, 179, 0, 218, 1, 196, 0, 177, 0, 161, 0, 218, 1, 179, 0, 161, 0, 240, 1, 218, 1, 199, 0, 168, 0, 197, 0, 199, 0, 172, 0, 168, 0, 183, 0, 239, 1, 238, 1, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 188, 0, 236, 1, 186, 0, 188, 0, 237, 1, 236, 1, 178, 0, 68, 0, 203, 0, 178, 0, 175, 0, 68, 0, 222, 1, 188, 0, 190, 0, 222, 1, 237, 1, 188, 0, 223, 1, 190, 0, 191, 0, 223, 1, 222, 1, 190, 0, 221, 1, 191, 0, 193, 0, 221, 1, 223, 1, 191, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 215, 0, 197, 0, 213, 0, 215, 0, 199, 0, 197, 0, 219, 1, 220, 1, 196, 0, 219, 0, 68, 0, 217, 0, 219, 0, 203, 0, 68, 0, 68, 0, 172, 0, 199, 0, 68, 0, 175, 0, 172, 0, 215, 0, 68, 0, 199, 0, 215, 0, 217, 0, 68, 0, 232, 1, 249, 0, 234, 1, 249, 0, 233, 1, 251, 0, 249, 0, 232, 1, 233, 1, 233, 1, 254, 0, 251, 0, 233, 1, 231, 1, 254, 0, 228, 1, 254, 0, 231, 1, 228, 1, 255, 0, 254, 0, 228, 1, 1, 1, 255, 0, 228, 1, 224, 1, 1, 1, 224, 1, 3, 1, 1, 1, 224, 1, 226, 1, 3, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 229, 1, 6, 1, 225, 1, 227, 1, 11, 1, 9, 1, 227, 1, 235, 1, 11, 1, 11, 1, 249, 0, 12, 1, 249, 0, 235, 1, 234, 1, 249, 0, 11, 1, 235, 1, 249, 0, 14, 1, 12, 1, 249, 0, 251, 0, 14, 1, 251, 0, 17, 1, 14, 1, 251, 0, 254, 0, 17, 1, 254, 0, 18, 1, 17, 1, 254, 0, 255, 0, 18, 1, 255, 0, 21, 1, 18, 1, 255, 0, 1, 1, 21, 1, 1, 1, 22, 1, 21, 1, 1, 1, 3, 1, 22, 1, 3, 1, 25, 1, 22, 1, 3, 1, 6, 1, 25, 1, 230, 1, 6, 1, 229, 1, 6, 1, 26, 1, 25, 1, 6, 1, 230, 1, 26, 1, 26, 1, 227, 1, 9, 1, 26, 1, 230, 1, 227, 1, 9, 1, 31, 1, 29, 1, 9, 1, 11, 1, 31, 1, 11, 1, 33, 1, 31, 1, 11, 1, 12, 1, 33, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 14, 1, 37, 1, 34, 1, 14, 1, 17, 1, 37, 1, 17, 1, 39, 1, 37, 1, 17, 1, 18, 1, 39, 1, 18, 1, 40, 1, 39, 1, 18, 1, 21, 1, 40, 1, 21, 1, 43, 1, 40, 1, 21, 1, 22, 1, 43, 1, 22, 1, 44, 1, 43, 1, 22, 1, 25, 1, 44, 1, 25, 1, 47, 1, 44, 1, 25, 1, 26, 1, 47, 1, 26, 1, 29, 1, 47, 1, 26, 1, 9, 1, 29, 1, 29, 1, 50, 1, 48, 1, 29, 1, 31, 1, 50, 1, 31, 1, 52, 1, 50, 1, 31, 1, 33, 1, 52, 1, 33, 1, 54, 1, 52, 1, 33, 1, 34, 1, 54, 1, 34, 1, 57, 1, 54, 1, 34, 1, 37, 1, 57, 1, 37, 1, 58, 1, 57, 1, 37, 1, 39, 1, 58, 1, 39, 1, 60, 1, 58, 1, 39, 1, 40, 1, 60, 1, 40, 1, 63, 1, 60, 1, 40, 1, 43, 1, 63, 1, 43, 1, 64, 1, 63, 1, 43, 1, 44, 1, 64, 1, 44, 1, 67, 1, 64, 1, 44, 1, 47, 1, 67, 1, 47, 1, 48, 1, 67, 1, 47, 1, 29, 1, 48, 1, 48, 1, 71, 1, 69, 1, 48, 1, 50, 1, 71, 1, 50, 1, 73, 1, 71, 1, 50, 1, 52, 1, 73, 1, 52, 1, 75, 1, 73, 1, 52, 1, 54, 1, 75, 1, 54, 1, 76, 1, 75, 1, 54, 1, 57, 1, 76, 1, 57, 1, 79, 1, 76, 1, 57, 1, 58, 1, 79, 1, 58, 1, 81, 1, 79, 1, 58, 1, 60, 1, 81, 1, 60, 1, 82, 1, 81, 1, 60, 1, 63, 1, 82, 1, 63, 1, 85, 1, 82, 1, 63, 1, 64, 1, 85, 1, 64, 1, 87, 1, 85, 1, 64, 1, 67, 1, 87, 1, 67, 1, 69, 1, 87, 1, 67, 1, 48, 1, 69, 1, 69, 1, 91, 1, 89, 1, 69, 1, 71, 1, 91, 1, 71, 1, 92, 1, 91, 1, 71, 1, 73, 1, 92, 1, 73, 1, 95, 1, 92, 1, 73, 1, 75, 1, 95, 1, 75, 1, 96, 1, 95, 1, 75, 1, 76, 1, 96, 1, 76, 1, 99, 1, 96, 1, 76, 1, 79, 1, 99, 1, 79, 1, 100, 1, 99, 1, 79, 1, 81, 1, 100, 1, 81, 1, 103, 1, 100, 1, 81, 1, 82, 1, 103, 1, 82, 1, 105, 1, 103, 1, 82, 1, 85, 1, 105, 1, 85, 1, 106, 1, 105, 1, 85, 1, 87, 1, 106, 1, 87, 1, 89, 1, 106, 1, 87, 1, 69, 1, 89, 1, 89, 1, 111, 1, 108, 1, 89, 1, 91, 1, 111, 1, 91, 1, 113, 1, 111, 1, 91, 1, 92, 1, 113, 1, 92, 1, 115, 1, 113, 1, 92, 1, 95, 1, 115, 1, 95, 1, 117, 1, 115, 1, 95, 1, 96, 1, 117, 1, 96, 1, 119, 1, 117, 1, 96, 1, 99, 1, 119, 1, 99, 1, 121, 1, 119, 1, 99, 1, 100, 1, 121, 1, 100, 1, 123, 1, 121, 1, 100, 1, 103, 1, 123, 1, 103, 1, 125, 1, 123, 1, 103, 1, 105, 1, 125, 1, 105, 1, 127, 1, 125, 1, 105, 1, 106, 1, 127, 1, 106, 1, 108, 1, 127, 1, 106, 1, 89, 1, 108, 1, 108, 1, 131, 1, 129, 1, 108, 1, 111, 1, 131, 1, 111, 1, 133, 1, 131, 1, 111, 1, 113, 1, 133, 1, 113, 1, 135, 1, 133, 1, 113, 1, 115, 1, 135, 1, 115, 1, 137, 1, 135, 1, 115, 1, 117, 1, 137, 1, 117, 1, 139, 1, 137, 1, 117, 1, 119, 1, 139, 1, 119, 1, 141, 1, 139, 1, 119, 1, 121, 1, 141, 1, 121, 1, 143, 1, 141, 1, 121, 1, 123, 1, 143, 1, 123, 1, 145, 1, 143, 1, 123, 1, 125, 1, 145, 1, 125, 1, 147, 1, 145, 1, 125, 1, 127, 1, 147, 1, 127, 1, 129, 1, 147, 1, 127, 1, 108, 1, 129, 1, 129, 1, 151, 1, 149, 1, 129, 1, 131, 1, 151, 1, 131, 1, 153, 1, 151, 1, 131, 1, 133, 1, 153, 1, 133, 1, 155, 1, 153, 1, 133, 1, 135, 1, 155, 1, 135, 1, 157, 1, 155, 1, 135, 1, 137, 1, 157, 1, 137, 1, 159, 1, 157, 1, 137, 1, 139, 1, 159, 1, 139, 1, 161, 1, 159, 1, 139, 1, 141, 1, 161, 1, 141, 1, 163, 1, 161, 1, 141, 1, 143, 1, 163, 1, 143, 1, 165, 1, 163, 1, 143, 1, 145, 1, 165, 1, 145, 1, 167, 1, 165, 1, 145, 1, 147, 1, 167, 1, 147, 1, 149, 1, 167, 1, 147, 1, 129, 1, 149, 1, 149, 1, 3, 0, 0, 0, 149, 1, 151, 1, 3, 0, 151, 1, 4, 0, 3, 0, 151, 1, 153, 1, 4, 0, 153, 1, 6, 0, 4, 0, 153, 1, 155, 1, 6, 0, 155, 1, 9, 0, 6, 0, 155, 1, 157, 1, 9, 0, 157, 1, 11, 0, 9, 0, 157, 1, 159, 1, 11, 0, 159, 1, 13, 0, 11, 0, 159, 1, 161, 1, 13, 0, 161, 1, 15, 0, 13, 0, 161, 1, 163, 1, 15, 0, 163, 1, 17, 0, 15, 0, 163, 1, 165, 1, 17, 0, 165, 1, 19, 0, 17, 0, 165, 1, 167, 1, 19, 0, 167, 1, 0, 0, 19, 0, 167, 1, 149, 1, 0, 0, 215, 1, 41, 0, 16, 0, 215, 1, 38, 0, 41, 0, 32, 0, 72, 0, 38, 0, 32, 0, 66, 0, 72, 0, 38, 0, 76, 0, 41, 0, 38, 0, 72, 0, 76, 0, 45, 0, 83, 0, 48, 0, 45, 0, 80, 0, 83, 0, 65, 0, 103, 0, 66, 0, 65, 0, 100, 0, 103, 0, 72, 0, 111, 0, 76, 0, 72, 0, 107, 0, 111, 0, 76, 0, 116, 0, 80, 0, 76, 0, 111, 0, 116, 0, 116, 0, 151, 0, 119, 0, 116, 0, 147, 0, 151, 0, 147, 0, 185, 0, 151, 0, 147, 0, 181, 0, 185, 0, 181, 0, 206, 0, 185, 0, 181, 0, 205, 0, 206, 0, 215, 0, 235, 0, 217, 0, 215, 0, 233, 0, 235, 0, 217, 0, 237, 0, 219, 0, 217, 0, 235, 0, 237, 0, 231, 0, 252, 0, 233, 0, 231, 0, 248, 0, 252, 0, 235, 0, 4, 1, 237, 0, 235, 0, 0, 1, 4, 1, 130, 1, 144, 1, 132, 1, 130, 1, 142, 1, 144, 1, 132, 1, 146, 1, 134, 1, 132, 1, 144, 1, 146, 1, 142, 1, 158, 1, 144, 1, 142, 1, 156, 1, 158, 1, 144, 1, 160, 1, 146, 1, 144, 1, 158, 1, 160, 1, 158, 1, 170, 1, 160, 1, 158, 1, 169, 1, 170, 1, 154, 1, 168, 1, 156, 1, 154, 1, 166, 1, 168, 1, 166, 1, 174, 1, 168, 1, 166, 1, 173, 1, 174, 1, 169, 1, 176, 1, 170, 1, 169, 1, 175, 1, 176, 1, 173, 1, 180, 1, 174, 1, 173, 1, 179, 1, 180, 1, 174, 1, 181, 1, 175, 1, 174, 1, 180, 1, 181, 1, 181, 1, 188, 1, 182, 1, 181, 1, 187, 1, 188, 1, 179, 1, 186, 1, 180, 1, 179, 1, 185, 1, 186, 1, 185, 1, 192, 1, 186, 1, 185, 1, 191, 1, 192, 1, 186, 1, 193, 1, 187, 1, 186, 1, 192, 1, 193, 1, 187, 1, 194, 1, 188, 1, 187, 1, 193, 1, 194, 1, 193, 1, 200, 1, 194, 1, 193, 1, 199, 1, 200, 1, 191, 1, 198, 1, 192, 1, 191, 1, 197, 1, 198, 1, 192, 1, 199, 1, 193, 1, 192, 1, 198, 1, 199, 1, 198, 1, 205, 1, 199, 1, 198, 1, 204, 1, 205, 1, 200, 1, 207, 1, 201, 1, 200, 1, 206, 1, 207, 1, 197, 1, 204, 1, 198, 1, 197, 1, 203, 1, 204, 1, 203, 1, 210, 1, 204, 1, 203, 1, 209, 1, 210, 1, 207, 1, 214, 1, 208, 1, 207, 1, 213, 1, 214, 1, 204, 1, 211, 1, 205, 1, 204, 1, 210, 1, 211, 1, 213, 1, 217, 1, 214, 1, 213, 1, 216, 1, 217, 1, 19, 2, 5, 2, 255, 1, 5, 2, 243, 1, 244, 1, 243, 1, 30, 2, 242, 1, 30, 2, 10, 2, 11, 2, 10, 2, 31, 2, 33, 2, 31, 2, 252, 1, 253, 1, 252, 1, 24, 2, 26, 2, 24, 2, 15, 2, 23, 2, 15, 2, 246, 1, 6, 2, 246, 1, 247, 1, 245, 1, 247, 1, 12, 2, 27, 2, 12, 2, 248, 1, 4, 2, 12, 2, 249, 1, 248, 1, 25, 2, 5, 2, 19, 2, 3, 2, 5, 2, 25, 2, 247, 1, 249, 1, 12, 2, 247, 1, 0, 2, 249, 1, 3, 2, 243, 1, 5, 2, 2, 2, 243, 1, 3, 2, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 2, 2, 30, 2, 243, 1, 21, 2, 30, 2, 2, 2, 246, 1, 7, 2, 247, 1, 246, 1, 8, 2, 7, 2, 251, 1, 30, 2, 21, 2, 250, 1, 30, 2, 251, 1, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 250, 1, 10, 2, 30, 2, 17, 2, 10, 2, 250, 1, 15, 2, 18, 2, 9, 2, 15, 2, 13, 2, 18, 2, 17, 2, 31, 2, 10, 2, 16, 2, 31, 2, 17, 2, 24, 2, 13, 2, 15, 2, 24, 2, 14, 2, 13, 2, 29, 2, 31, 2, 16, 2, 32, 2, 31, 2, 29, 2, 252, 1, 14, 2, 24, 2, 252, 1, 22, 2, 14, 2, 32, 2, 252, 1, 31, 2, 252, 1, 28, 2, 22, 2, 252, 1, 32, 2, 28, 2, 20, 2, 4, 2, 248, 1, 4, 2, 255, 1, 254, 1, 255, 1, 20, 2, 19, 2, 20, 2, 255, 1, 4, 2, 120, 1, 5, 2, 102, 1, 120, 1, 255, 1, 5, 2, 203, 1, 25, 2, 209, 1, 203, 1, 3, 2, 25, 2, 168, 0, 7, 2, 197, 0, 168, 0, 1, 2, 7, 2, 220, 0, 252, 1, 210, 0, 220, 0, 253, 1, 252, 1, 117, 0, 245, 1, 96, 0, 117, 0, 246, 1, 245, 1, 197, 1, 3, 2, 203, 1, 197, 1, 2, 2, 3, 2, 49, 1, 30, 2, 28, 1, 49, 1, 242, 1, 30, 2, 140, 1, 29, 2, 154, 1, 140, 1, 32, 2, 29, 2, 231, 0, 18, 2, 248, 0, 231, 0, 9, 2, 18, 2, 84, 1, 243, 1, 65, 1, 84, 1, 244, 1, 243, 1, 248, 0, 13, 2, 23, 1, 248, 0, 18, 2, 13, 2, 179, 1, 251, 1, 185, 1, 179, 1, 250, 1, 251, 1, 247, 0, 33, 2, 239, 0, 247, 0, 10, 2, 33, 2, 239, 0, 31, 2, 228, 0, 239, 0, 33, 2, 31, 2, 209, 1, 19, 2, 8, 0, 209, 1, 25, 2, 19, 2, 154, 1, 16, 2, 166, 1, 154, 1, 29, 2, 16, 2, 213, 0, 9, 2, 231, 0, 213, 0, 8, 2, 9, 2, 201, 0, 24, 2, 189, 0, 201, 0, 26, 2, 24, 2, 210, 0, 26, 2, 201, 0, 210, 0, 252, 1, 26, 2, 29, 0, 248, 1, 65, 0, 29, 0, 20, 2, 248, 1, 169, 0, 15, 2, 155, 0, 169, 0, 23, 2, 15, 2, 134, 0, 246, 1, 117, 0, 134, 0, 6, 2, 246, 1, 90, 1, 28, 2, 124, 1, 90, 1, 22, 2, 28, 2, 191, 1, 2, 2, 197, 1, 191, 1, 21, 2, 2, 2, 59, 0, 12, 2, 42, 0, 59, 0, 27, 2, 12, 2, 96, 0, 247, 1, 81, 0, 96, 0, 245, 1, 247, 1, 102, 1, 244, 1, 84, 1, 102, 1, 5, 2, 244, 1, 42, 0, 4, 2, 22, 0, 42, 0, 12, 2, 4, 2, 132, 0, 1, 2, 168, 0, 132, 0, 0, 2, 1, 2, 22, 0, 254, 1, 5, 0, 22, 0, 4, 2, 254, 1, 5, 0, 255, 1, 120, 1, 5, 0, 254, 1, 255, 1, 65, 0, 249, 1, 100, 0, 65, 0, 248, 1, 249, 1, 189, 0, 23, 2, 169, 0, 189, 0, 24, 2, 23, 2, 8, 0, 20, 2, 29, 0, 8, 0, 19, 2, 20, 2, 65, 1, 242, 1, 49, 1, 65, 1, 243, 1, 242, 1, 100, 0, 0, 2, 132, 0, 100, 0, 249, 1, 0, 2, 56, 1, 22, 2, 90, 1, 56, 1, 14, 2, 22, 2, 28, 1, 11, 2, 13, 1, 28, 1, 30, 2, 11, 2, 124, 1, 32, 2, 140, 1, 124, 1, 28, 2, 32, 2, 228, 0, 253, 1, 220, 0, 228, 0, 31, 2, 253, 1, 81, 0, 27, 2, 59, 0, 81, 0, 247, 1, 27, 2, 23, 1, 14, 2, 56, 1, 23, 1, 13, 2, 14, 2, 173, 1, 250, 1, 179, 1, 173, 1, 17, 2, 250, 1, 185, 1, 21, 2, 191, 1, 185, 1, 251, 1, 21, 2, 166, 1, 17, 2, 173, 1, 166, 1, 16, 2, 17, 2, 197, 0, 8, 2, 213, 0, 197, 0, 7, 2, 8, 2),
+"lods": [0.00381843, PackedByteArray(7, 0, 254, 1, 5, 2, 254, 1, 255, 1, 5, 2, 5, 2, 244, 1, 243, 1, 107, 1, 5, 2, 243, 1, 107, 1, 7, 0, 5, 2, 243, 1, 68, 1, 107, 1, 114, 1, 7, 0, 107, 1, 68, 1, 114, 1, 107, 1, 7, 0, 46, 0, 254, 1, 46, 0, 12, 2, 254, 1, 12, 2, 4, 2, 254, 1, 7, 0, 53, 0, 46, 0, 46, 0, 61, 0, 12, 2, 53, 0, 61, 0, 46, 0, 61, 0, 81, 0, 12, 2, 81, 0, 27, 2, 12, 2, 81, 0, 247, 1, 27, 2, 18, 0, 53, 0, 7, 0, 114, 1, 18, 0, 7, 0, 53, 0, 87, 0, 61, 0, 240, 1, 247, 1, 81, 0, 240, 1, 245, 1, 247, 1, 81, 0, 218, 1, 240, 1, 81, 0, 219, 1, 218, 1, 81, 0, 220, 1, 219, 1, 220, 1, 81, 0, 221, 1, 97, 0, 81, 0, 61, 0, 221, 1, 81, 0, 97, 0, 87, 0, 97, 0, 61, 0, 221, 1, 97, 0, 223, 1, 223, 1, 97, 0, 222, 1, 97, 0, 237, 1, 222, 1, 97, 0, 236, 1, 237, 1, 117, 0, 236, 1, 97, 0, 117, 0, 245, 1, 240, 1, 117, 0, 239, 1, 236, 1, 117, 0, 246, 1, 245, 1, 239, 1, 117, 0, 238, 1, 117, 0, 6, 2, 246, 1, 241, 1, 117, 0, 240, 1, 238, 1, 117, 0, 241, 1, 15, 2, 6, 2, 117, 0, 97, 0, 157, 0, 117, 0, 157, 0, 15, 2, 117, 0, 123, 0, 157, 0, 97, 0, 87, 0, 123, 0, 97, 0, 15, 2, 157, 0, 192, 0, 192, 0, 24, 2, 15, 2, 24, 2, 23, 2, 15, 2, 157, 0, 195, 0, 192, 0, 192, 0, 211, 0, 24, 2, 195, 0, 211, 0, 192, 0, 164, 0, 195, 0, 157, 0, 211, 0, 252, 1, 24, 2, 252, 1, 26, 2, 24, 2, 195, 0, 216, 0, 211, 0, 164, 0, 216, 0, 195, 0, 211, 0, 229, 0, 252, 1, 216, 0, 232, 0, 211, 0, 211, 0, 232, 0, 229, 0, 229, 0, 31, 2, 252, 1, 31, 2, 253, 1, 252, 1, 232, 0, 250, 0, 229, 0, 229, 0, 250, 0, 31, 2, 216, 0, 5, 1, 232, 0, 232, 0, 5, 1, 250, 0, 250, 0, 10, 2, 31, 2, 10, 2, 33, 2, 31, 2, 250, 0, 32, 1, 10, 2, 32, 1, 30, 2, 10, 2, 30, 2, 11, 2, 10, 2, 250, 0, 41, 1, 32, 1, 5, 1, 41, 1, 250, 0, 32, 1, 68, 1, 30, 2, 41, 1, 68, 1, 32, 1, 68, 1, 243, 1, 30, 2, 243, 1, 242, 1, 30, 2, 41, 1, 80, 1, 68, 1, 5, 1, 80, 1, 41, 1, 80, 1, 114, 1, 68, 1, 80, 1, 18, 0, 114, 1, 83, 1, 80, 1, 5, 1, 83, 1, 18, 0, 80, 1, 218, 0, 83, 1, 5, 1, 218, 0, 5, 1, 216, 0, 83, 1, 20, 0, 18, 0, 218, 0, 216, 0, 164, 0, 93, 0, 83, 1, 218, 0, 93, 0, 20, 0, 83, 1, 93, 0, 218, 0, 164, 0, 20, 0, 93, 0, 91, 0, 20, 0, 91, 0, 18, 0, 93, 0, 164, 0, 91, 0, 18, 0, 91, 0, 90, 0, 18, 0, 90, 0, 53, 0, 91, 0, 164, 0, 125, 0, 91, 0, 125, 0, 90, 0, 125, 0, 164, 0, 157, 0, 53, 0, 90, 0, 87, 0, 125, 0, 157, 0, 123, 0, 90, 0, 225, 1, 87, 0, 225, 1, 90, 0, 229, 1, 87, 0, 225, 1, 226, 1, 229, 1, 90, 0, 230, 1, 230, 1, 90, 0, 125, 0, 87, 0, 226, 1, 224, 1, 87, 0, 224, 1, 228, 1, 87, 0, 228, 1, 123, 0, 231, 1, 123, 0, 228, 1, 233, 1, 123, 0, 231, 1, 232, 1, 123, 0, 233, 1, 123, 0, 232, 1, 125, 0, 230, 1, 125, 0, 227, 1, 125, 0, 232, 1, 234, 1, 125, 0, 235, 1, 227, 1, 125, 0, 234, 1, 235, 1, 209, 1, 65, 0, 12, 0, 65, 0, 248, 1, 249, 1, 65, 0, 20, 2, 248, 1, 209, 1, 20, 2, 65, 0, 209, 1, 19, 2, 20, 2, 65, 0, 249, 1, 0, 2, 209, 1, 25, 2, 19, 2, 209, 1, 3, 2, 25, 2, 65, 0, 0, 2, 168, 0, 168, 0, 0, 2, 1, 2, 168, 0, 1, 2, 7, 2, 168, 0, 7, 2, 213, 0, 213, 0, 7, 2, 8, 2, 213, 0, 8, 2, 9, 2, 168, 0, 172, 0, 65, 0, 172, 0, 168, 0, 213, 0, 172, 0, 72, 0, 65, 0, 12, 0, 65, 0, 72, 0, 172, 0, 142, 0, 72, 0, 12, 0, 72, 0, 45, 0, 72, 0, 142, 0, 45, 0, 203, 0, 142, 0, 172, 0, 213, 0, 203, 0, 172, 0, 45, 0, 142, 0, 181, 0, 142, 0, 203, 0, 181, 0, 213, 0, 235, 0, 203, 0, 181, 0, 203, 0, 238, 0, 238, 0, 203, 0, 235, 0, 213, 0, 30, 1, 235, 0, 238, 0, 235, 0, 30, 1, 213, 0, 9, 2, 248, 0, 213, 0, 248, 0, 30, 1, 248, 0, 9, 2, 18, 2, 248, 0, 18, 2, 13, 2, 248, 0, 13, 2, 23, 1, 23, 1, 13, 2, 14, 2, 23, 1, 14, 2, 22, 2, 248, 0, 23, 1, 62, 1, 62, 1, 30, 1, 248, 0, 23, 1, 22, 2, 124, 1, 124, 1, 62, 1, 23, 1, 124, 1, 22, 2, 28, 2, 124, 1, 28, 2, 32, 2, 124, 1, 32, 2, 154, 1, 154, 1, 32, 2, 29, 2, 124, 1, 130, 1, 62, 1, 124, 1, 154, 1, 130, 1, 154, 1, 29, 2, 16, 2, 130, 1, 134, 1, 62, 1, 62, 1, 134, 1, 30, 1, 130, 1, 154, 1, 158, 1, 130, 1, 158, 1, 134, 1, 109, 1, 30, 1, 134, 1, 158, 1, 109, 1, 134, 1, 238, 0, 30, 1, 109, 1, 154, 1, 16, 2, 173, 1, 173, 1, 16, 2, 17, 2, 173, 1, 17, 2, 250, 1, 154, 1, 173, 1, 181, 1, 154, 1, 181, 1, 158, 1, 173, 1, 250, 1, 185, 1, 173, 1, 185, 1, 181, 1, 185, 1, 250, 1, 251, 1, 185, 1, 251, 1, 21, 2, 181, 1, 171, 1, 158, 1, 158, 1, 171, 1, 109, 1, 185, 1, 193, 1, 181, 1, 193, 1, 171, 1, 181, 1, 185, 1, 21, 2, 197, 1, 197, 1, 21, 2, 2, 2, 197, 1, 2, 2, 3, 2, 197, 1, 3, 2, 209, 1, 197, 1, 198, 1, 185, 1, 197, 1, 209, 1, 198, 1, 185, 1, 198, 1, 193, 1, 198, 1, 209, 1, 211, 1, 198, 1, 211, 1, 193, 1, 12, 0, 211, 1, 209, 1, 211, 1, 12, 0, 212, 1, 193, 1, 211, 1, 212, 1, 12, 0, 45, 0, 212, 1, 212, 1, 201, 1, 193, 1, 193, 1, 201, 1, 171, 1, 212, 1, 45, 0, 151, 0, 212, 1, 151, 0, 201, 1, 45, 0, 181, 0, 151, 0, 201, 1, 184, 1, 171, 1, 201, 1, 151, 0, 184, 1, 171, 1, 184, 1, 109, 1, 181, 0, 45, 1, 151, 0, 184, 1, 151, 0, 45, 1, 109, 1, 184, 1, 45, 1, 45, 1, 181, 0, 238, 0, 45, 1, 238, 0, 109, 1, 21, 0, 4, 0, 25, 0, 21, 0, 25, 0, 44, 0, 21, 0, 44, 0, 64, 0, 21, 0, 64, 0, 82, 0, 56, 0, 82, 0, 77, 0, 56, 0, 21, 0, 82, 0, 37, 0, 21, 0, 56, 0, 17, 0, 21, 0, 37, 0, 165, 1, 21, 0, 17, 0, 165, 1, 129, 1, 21, 0, 129, 1, 4, 0, 21, 0, 145, 1, 129, 1, 165, 1, 129, 1, 153, 1, 4, 0, 125, 1, 129, 1, 145, 1, 129, 1, 133, 1, 153, 1, 129, 1, 113, 1, 133, 1, 105, 1, 129, 1, 125, 1, 105, 1, 69, 1, 129, 1, 69, 1, 92, 1, 113, 1, 69, 1, 113, 1, 129, 1, 85, 1, 69, 1, 105, 1, 64, 1, 69, 1, 85, 1, 69, 1, 73, 1, 92, 1, 29, 1, 73, 1, 69, 1, 44, 1, 29, 1, 64, 1, 29, 1, 52, 1, 73, 1, 29, 1, 33, 1, 52, 1, 25, 1, 12, 1, 29, 1, 64, 1, 29, 1, 69, 1, 12, 1, 33, 1, 29, 1, 25, 1, 29, 1, 44, 1, 25, 1, 227, 1, 12, 1, 227, 1, 235, 1, 12, 1, 249, 0, 12, 1, 235, 1, 25, 1, 230, 1, 227, 1, 6, 1, 230, 1, 25, 1, 249, 0, 235, 1, 234, 1, 232, 1, 249, 0, 234, 1, 4, 0, 27, 0, 25, 0, 25, 0, 27, 0, 47, 0, 4, 0, 6, 0, 27, 0, 25, 0, 47, 0, 44, 0, 153, 1, 6, 0, 4, 0, 44, 0, 47, 0, 67, 0, 153, 1, 155, 1, 6, 0, 44, 0, 67, 0, 64, 0, 133, 1, 155, 1, 153, 1, 64, 0, 67, 0, 88, 0, 133, 1, 135, 1, 155, 1, 64, 0, 88, 0, 86, 0, 113, 1, 135, 1, 133, 1, 86, 0, 88, 0, 108, 0, 113, 1, 115, 1, 135, 1, 86, 0, 108, 0, 105, 0, 92, 1, 115, 1, 113, 1, 105, 0, 108, 0, 127, 0, 92, 1, 95, 1, 115, 1, 105, 0, 127, 0, 126, 0, 73, 1, 95, 1, 92, 1, 126, 0, 127, 0, 148, 0, 73, 1, 75, 1, 95, 1, 126, 0, 148, 0, 145, 0, 52, 1, 75, 1, 73, 1, 145, 0, 148, 0, 167, 0, 52, 1, 54, 1, 75, 1, 145, 0, 167, 0, 165, 0, 33, 1, 54, 1, 52, 1, 165, 0, 167, 0, 186, 0, 33, 1, 34, 1, 54, 1, 165, 0, 186, 0, 183, 0, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 249, 0, 14, 1, 12, 1, 249, 0, 251, 0, 14, 1, 249, 0, 233, 1, 251, 0, 249, 0, 232, 1, 233, 1, 6, 0, 30, 0, 27, 0, 27, 0, 30, 0, 47, 0, 155, 1, 30, 0, 6, 0, 47, 0, 30, 0, 92, 0, 47, 0, 92, 0, 67, 0, 67, 0, 92, 0, 88, 0, 155, 1, 139, 1, 30, 0, 135, 1, 139, 1, 155, 1, 115, 1, 139, 1, 135, 1, 95, 1, 139, 1, 115, 1, 88, 0, 92, 0, 112, 0, 88, 0, 112, 0, 108, 0, 108, 0, 112, 0, 127, 0, 92, 0, 115, 0, 112, 0, 92, 0, 95, 0, 115, 0, 112, 0, 115, 0, 135, 0, 92, 0, 75, 0, 95, 0, 30, 0, 75, 0, 92, 0, 30, 0, 54, 0, 75, 0, 30, 0, 35, 0, 54, 0, 30, 0, 15, 0, 35, 0, 139, 1, 15, 0, 30, 0, 112, 0, 135, 0, 156, 0, 139, 1, 163, 1, 15, 0, 139, 1, 143, 1, 163, 1, 139, 1, 123, 1, 143, 1, 112, 0, 156, 0, 171, 0, 171, 0, 156, 0, 176, 0, 127, 0, 112, 0, 171, 0, 127, 0, 171, 0, 148, 0, 171, 0, 176, 0, 193, 0, 148, 0, 171, 0, 167, 0, 99, 1, 123, 1, 139, 1, 99, 1, 103, 1, 123, 1, 95, 1, 99, 1, 139, 1, 75, 1, 99, 1, 95, 1, 99, 1, 82, 1, 103, 1, 54, 1, 99, 1, 75, 1, 58, 1, 82, 1, 99, 1, 54, 1, 58, 1, 99, 1, 58, 1, 63, 1, 82, 1, 34, 1, 58, 1, 54, 1, 18, 1, 63, 1, 58, 1, 34, 1, 18, 1, 58, 1, 18, 1, 43, 1, 63, 1, 14, 1, 18, 1, 34, 1, 18, 1, 22, 1, 43, 1, 251, 0, 18, 1, 14, 1, 228, 1, 22, 1, 18, 1, 233, 1, 231, 1, 251, 0, 228, 1, 251, 0, 231, 1, 228, 1, 3, 1, 22, 1, 228, 1, 224, 1, 3, 1, 224, 1, 226, 1, 3, 1, 15, 0, 37, 0, 35, 0, 35, 0, 37, 0, 56, 0, 15, 0, 17, 0, 37, 0, 35, 0, 56, 0, 54, 0, 163, 1, 17, 0, 15, 0, 54, 0, 56, 0, 77, 0, 163, 1, 165, 1, 17, 0, 54, 0, 77, 0, 75, 0, 143, 1, 165, 1, 163, 1, 75, 0, 77, 0, 98, 0, 143, 1, 145, 1, 165, 1, 75, 0, 98, 0, 95, 0, 123, 1, 145, 1, 143, 1, 95, 0, 98, 0, 118, 0, 123, 1, 125, 1, 145, 1, 95, 0, 118, 0, 115, 0, 103, 1, 125, 1, 123, 1, 115, 0, 118, 0, 137, 0, 103, 1, 105, 1, 125, 1, 115, 0, 137, 0, 135, 0, 82, 1, 105, 1, 103, 1, 135, 0, 137, 0, 158, 0, 82, 1, 85, 1, 105, 1, 135, 0, 158, 0, 156, 0, 63, 1, 85, 1, 82, 1, 156, 0, 158, 0, 177, 0, 63, 1, 64, 1, 85, 1, 156, 0, 177, 0, 176, 0, 43, 1, 64, 1, 63, 1, 176, 0, 177, 0, 196, 0, 43, 1, 44, 1, 64, 1, 176, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 22, 1, 44, 1, 43, 1, 22, 1, 25, 1, 44, 1, 3, 1, 25, 1, 22, 1, 3, 1, 6, 1, 25, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 82, 0, 64, 0, 86, 0, 77, 0, 82, 0, 98, 0, 82, 0, 86, 0, 105, 0, 82, 0, 105, 0, 126, 0, 82, 0, 126, 0, 141, 0, 118, 0, 82, 0, 141, 0, 98, 0, 82, 0, 118, 0, 118, 0, 141, 0, 137, 0, 141, 0, 126, 0, 145, 0, 141, 0, 145, 0, 163, 0, 158, 0, 141, 0, 163, 0, 137, 0, 141, 0, 158, 0, 158, 0, 163, 0, 177, 0, 145, 0, 165, 0, 163, 0, 163, 0, 218, 1, 177, 0, 218, 1, 196, 0, 177, 0, 163, 0, 240, 1, 218, 1, 163, 0, 241, 1, 240, 1, 163, 0, 238, 1, 241, 1, 183, 0, 239, 1, 238, 1, 196, 0, 218, 1, 219, 1, 219, 1, 220, 1, 196, 0, 238, 1, 163, 0, 165, 0, 238, 1, 165, 0, 183, 0, 167, 0, 222, 1, 186, 0, 167, 0, 171, 0, 222, 1, 222, 1, 237, 1, 186, 0, 186, 0, 237, 1, 236, 1, 171, 0, 193, 0, 222, 1, 223, 1, 222, 1, 193, 0, 221, 1, 223, 1, 193, 0, 229, 1, 6, 1, 225, 1, 230, 1, 6, 1, 229, 1, 251, 0, 228, 1, 18, 1, 19, 2, 5, 2, 255, 1, 25, 2, 5, 2, 19, 2, 255, 1, 20, 2, 19, 2, 3, 2, 5, 2, 25, 2, 20, 2, 255, 1, 4, 2, 4, 2, 255, 1, 254, 1, 20, 2, 4, 2, 248, 1, 12, 2, 248, 1, 4, 2, 12, 2, 249, 1, 248, 1, 3, 2, 243, 1, 5, 2, 5, 2, 243, 1, 244, 1, 2, 2, 243, 1, 3, 2, 247, 1, 249, 1, 12, 2, 247, 1, 12, 2, 27, 2, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 2, 2, 30, 2, 243, 1, 243, 1, 30, 2, 242, 1, 21, 2, 30, 2, 2, 2, 251, 1, 30, 2, 21, 2, 250, 1, 30, 2, 251, 1, 246, 1, 7, 2, 247, 1, 246, 1, 247, 1, 245, 1, 246, 1, 8, 2, 7, 2, 15, 2, 8, 2, 246, 1, 15, 2, 246, 1, 6, 2, 15, 2, 9, 2, 8, 2, 15, 2, 18, 2, 9, 2, 15, 2, 13, 2, 18, 2, 24, 2, 13, 2, 15, 2, 24, 2, 15, 2, 23, 2, 24, 2, 14, 2, 13, 2, 252, 1, 14, 2, 24, 2, 252, 1, 24, 2, 26, 2, 252, 1, 22, 2, 14, 2, 252, 1, 28, 2, 22, 2, 252, 1, 32, 2, 28, 2, 32, 2, 252, 1, 31, 2, 31, 2, 252, 1, 253, 1, 32, 2, 31, 2, 29, 2, 29, 2, 31, 2, 16, 2, 16, 2, 31, 2, 17, 2, 17, 2, 31, 2, 10, 2, 10, 2, 31, 2, 33, 2, 17, 2, 10, 2, 250, 1, 250, 1, 10, 2, 30, 2, 30, 2, 10, 2, 11, 2), 0.0373354, PackedByteArray(12, 2, 218, 1, 240, 1, 12, 2, 219, 1, 218, 1, 12, 2, 220, 1, 219, 1, 220, 1, 12, 2, 221, 1, 218, 0, 225, 1, 12, 2, 240, 1, 247, 1, 12, 2, 240, 1, 245, 1, 247, 1, 15, 2, 245, 1, 240, 1, 15, 2, 246, 1, 245, 1, 241, 1, 15, 2, 240, 1, 238, 1, 15, 2, 241, 1, 239, 1, 15, 2, 238, 1, 15, 2, 239, 1, 236, 1, 12, 2, 255, 1, 5, 2, 242, 1, 12, 2, 5, 2, 11, 2, 242, 1, 30, 2, 11, 2, 12, 2, 242, 1, 11, 2, 33, 2, 31, 2, 252, 1, 11, 2, 31, 2, 31, 2, 253, 1, 252, 1, 218, 0, 11, 2, 252, 1, 218, 0, 12, 2, 11, 2, 252, 1, 26, 2, 24, 2, 15, 2, 252, 1, 24, 2, 24, 2, 23, 2, 15, 2, 218, 0, 252, 1, 15, 2, 233, 1, 15, 2, 231, 1, 232, 1, 15, 2, 233, 1, 15, 2, 232, 1, 218, 0, 231, 1, 15, 2, 228, 1, 12, 2, 228, 1, 15, 2, 218, 0, 232, 1, 234, 1, 12, 2, 224, 1, 228, 1, 12, 2, 226, 1, 224, 1, 12, 2, 225, 1, 226, 1, 225, 1, 218, 0, 229, 1, 218, 0, 234, 1, 235, 1, 229, 1, 218, 0, 230, 1, 218, 0, 235, 1, 227, 1, 230, 1, 218, 0, 227, 1, 12, 2, 15, 2, 97, 0, 15, 2, 236, 1, 97, 0, 221, 1, 12, 2, 97, 0, 97, 0, 236, 1, 237, 1, 221, 1, 97, 0, 223, 1, 97, 0, 237, 1, 223, 1, 19, 2, 249, 1, 3, 2, 249, 1, 0, 2, 1, 2, 3, 2, 249, 1, 45, 0, 1, 2, 45, 0, 249, 1, 8, 2, 45, 0, 1, 2, 1, 2, 7, 2, 8, 2, 3, 2, 45, 0, 171, 1, 251, 1, 3, 2, 171, 1, 8, 2, 14, 2, 45, 0, 45, 0, 14, 2, 171, 1, 8, 2, 9, 2, 14, 2, 17, 2, 251, 1, 171, 1, 17, 2, 250, 1, 251, 1, 17, 2, 171, 1, 28, 2, 28, 2, 171, 1, 14, 2, 14, 2, 22, 2, 28, 2, 153, 1, 47, 0, 25, 0, 25, 0, 47, 0, 44, 0, 44, 0, 47, 0, 64, 0, 64, 0, 47, 0, 86, 0, 153, 1, 155, 1, 47, 0, 86, 0, 47, 0, 108, 0, 133, 1, 155, 1, 153, 1, 86, 0, 108, 0, 105, 0, 133, 1, 95, 1, 155, 1, 105, 0, 108, 0, 186, 0, 113, 1, 95, 1, 133, 1, 92, 1, 95, 1, 113, 1, 73, 1, 95, 1, 92, 1, 52, 1, 95, 1, 73, 1, 52, 1, 34, 1, 95, 1, 33, 1, 34, 1, 52, 1, 12, 1, 34, 1, 33, 1, 12, 1, 14, 1, 34, 1, 249, 0, 14, 1, 12, 1, 249, 0, 233, 1, 14, 1, 249, 0, 232, 1, 233, 1, 105, 0, 186, 0, 126, 0, 126, 0, 186, 0, 145, 0, 145, 0, 186, 0, 165, 0, 165, 0, 186, 0, 183, 0, 186, 0, 239, 1, 183, 0, 186, 0, 236, 1, 239, 1, 47, 0, 163, 1, 35, 0, 47, 0, 35, 0, 54, 0, 47, 0, 54, 0, 75, 0, 47, 0, 75, 0, 95, 0, 47, 0, 95, 0, 115, 0, 47, 0, 115, 0, 108, 0, 95, 1, 163, 1, 47, 0, 155, 1, 95, 1, 47, 0, 95, 1, 143, 1, 163, 1, 95, 1, 123, 1, 143, 1, 95, 1, 103, 1, 123, 1, 95, 1, 82, 1, 103, 1, 34, 1, 82, 1, 95, 1, 34, 1, 63, 1, 82, 1, 22, 1, 63, 1, 34, 1, 22, 1, 43, 1, 63, 1, 14, 1, 22, 1, 34, 1, 14, 1, 228, 1, 22, 1, 228, 1, 14, 1, 231, 1, 228, 1, 3, 1, 22, 1, 228, 1, 224, 1, 3, 1, 224, 1, 226, 1, 3, 1, 163, 1, 37, 0, 35, 0, 35, 0, 37, 0, 56, 0, 163, 1, 17, 0, 37, 0, 35, 0, 56, 0, 54, 0, 163, 1, 145, 1, 17, 0, 54, 0, 56, 0, 77, 0, 143, 1, 145, 1, 163, 1, 54, 0, 77, 0, 75, 0, 123, 1, 145, 1, 143, 1, 75, 0, 77, 0, 98, 0, 123, 1, 105, 1, 145, 1, 75, 0, 98, 0, 95, 0, 103, 1, 105, 1, 123, 1, 95, 0, 98, 0, 118, 0, 82, 1, 105, 1, 103, 1, 95, 0, 118, 0, 115, 0, 82, 1, 64, 1, 105, 1, 115, 0, 118, 0, 137, 0, 63, 1, 64, 1, 82, 1, 115, 0, 137, 0, 135, 0, 43, 1, 64, 1, 63, 1, 135, 0, 137, 0, 156, 0, 43, 1, 25, 1, 64, 1, 156, 0, 137, 0, 177, 0, 22, 1, 25, 1, 43, 1, 156, 0, 177, 0, 176, 0, 3, 1, 25, 1, 22, 1, 176, 0, 177, 0, 196, 0, 3, 1, 6, 1, 25, 1, 3, 1, 225, 1, 6, 1, 3, 1, 226, 1, 225, 1, 176, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 17, 0, 25, 0, 37, 0, 145, 1, 25, 0, 17, 0, 145, 1, 153, 1, 25, 0, 145, 1, 133, 1, 153, 1, 145, 1, 113, 1, 133, 1, 37, 0, 25, 0, 60, 0, 25, 0, 44, 0, 60, 0, 60, 0, 44, 0, 64, 0, 37, 0, 60, 0, 56, 0, 56, 0, 60, 0, 77, 0, 60, 0, 105, 0, 126, 0, 60, 0, 86, 0, 105, 0, 137, 0, 126, 0, 145, 0, 98, 0, 60, 0, 126, 0, 98, 0, 126, 0, 118, 0, 118, 0, 126, 0, 137, 0, 137, 0, 145, 0, 165, 0, 137, 0, 165, 0, 177, 0, 165, 0, 218, 1, 177, 0, 218, 1, 196, 0, 177, 0, 238, 1, 165, 0, 183, 0, 165, 0, 238, 1, 241, 1, 165, 0, 241, 1, 240, 1, 165, 0, 240, 1, 218, 1, 196, 0, 218, 1, 219, 1, 219, 1, 220, 1, 196, 0, 60, 0, 64, 0, 86, 0, 77, 0, 60, 0, 98, 0, 108, 0, 115, 0, 186, 0, 115, 0, 135, 0, 156, 0, 115, 0, 156, 0, 186, 0, 186, 0, 156, 0, 176, 0, 186, 0, 176, 0, 193, 0, 186, 0, 193, 0, 223, 1, 221, 1, 223, 1, 193, 0, 223, 1, 237, 1, 186, 0, 186, 0, 237, 1, 236, 1, 183, 0, 239, 1, 238, 1, 232, 1, 249, 0, 234, 1, 249, 0, 235, 1, 234, 1, 233, 1, 231, 1, 14, 1, 229, 1, 6, 1, 225, 1, 230, 1, 6, 1, 229, 1, 227, 1, 235, 1, 12, 1, 249, 0, 12, 1, 235, 1, 25, 1, 227, 1, 12, 1, 25, 1, 230, 1, 227, 1, 6, 1, 230, 1, 25, 1, 12, 1, 33, 1, 25, 1, 25, 1, 33, 1, 52, 1, 25, 1, 52, 1, 73, 1, 64, 1, 25, 1, 92, 1, 25, 1, 73, 1, 92, 1, 105, 1, 92, 1, 145, 1, 64, 1, 92, 1, 105, 1, 92, 1, 113, 1, 145, 1, 19, 2, 5, 2, 255, 1, 3, 2, 5, 2, 19, 2, 255, 1, 249, 1, 19, 2, 3, 2, 242, 1, 5, 2, 249, 1, 255, 1, 12, 2, 3, 2, 30, 2, 242, 1, 251, 1, 30, 2, 3, 2, 250, 1, 30, 2, 251, 1, 250, 1, 11, 2, 30, 2, 247, 1, 249, 1, 12, 2, 17, 2, 11, 2, 250, 1, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 7, 2, 1, 2, 246, 1, 7, 2, 247, 1, 246, 1, 247, 1, 245, 1, 246, 1, 8, 2, 7, 2, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 15, 2, 14, 2, 9, 2, 24, 2, 14, 2, 15, 2, 24, 2, 15, 2, 23, 2, 252, 1, 14, 2, 24, 2, 252, 1, 24, 2, 26, 2, 252, 1, 22, 2, 14, 2, 252, 1, 28, 2, 22, 2, 252, 1, 17, 2, 28, 2, 17, 2, 252, 1, 31, 2, 31, 2, 252, 1, 253, 1, 17, 2, 31, 2, 11, 2, 11, 2, 31, 2, 33, 2), 0.0615714, PackedByteArray(221, 1, 12, 2, 223, 1, 220, 1, 12, 2, 221, 1, 12, 2, 220, 1, 219, 1, 219, 1, 247, 1, 12, 2, 219, 1, 246, 1, 247, 1, 15, 2, 246, 1, 219, 1, 12, 2, 15, 2, 223, 1, 238, 1, 15, 2, 219, 1, 15, 2, 236, 1, 223, 1, 239, 1, 15, 2, 238, 1, 15, 2, 239, 1, 236, 1, 12, 2, 255, 1, 5, 2, 242, 1, 12, 2, 5, 2, 230, 1, 12, 2, 242, 1, 230, 1, 242, 1, 30, 2, 230, 1, 30, 2, 252, 1, 252, 1, 234, 1, 230, 1, 252, 1, 232, 1, 234, 1, 15, 2, 232, 1, 252, 1, 15, 2, 252, 1, 23, 2, 232, 1, 15, 2, 233, 1, 233, 1, 15, 2, 224, 1, 12, 2, 224, 1, 15, 2, 12, 2, 226, 1, 224, 1, 12, 2, 225, 1, 226, 1, 230, 1, 225, 1, 12, 2, 19, 2, 249, 1, 3, 2, 249, 1, 0, 2, 1, 2, 28, 2, 3, 2, 1, 2, 251, 1, 3, 2, 28, 2, 28, 2, 1, 2, 8, 2, 8, 2, 14, 2, 28, 2, 153, 1, 108, 0, 86, 0, 86, 0, 108, 0, 126, 0, 126, 0, 108, 0, 145, 0, 108, 0, 239, 1, 145, 0, 108, 0, 236, 1, 239, 1, 153, 1, 14, 1, 108, 0, 92, 1, 14, 1, 153, 1, 12, 1, 14, 1, 92, 1, 249, 0, 14, 1, 12, 1, 249, 0, 233, 1, 14, 1, 249, 0, 232, 1, 233, 1, 35, 0, 37, 0, 77, 0, 35, 0, 77, 0, 118, 0, 35, 0, 118, 0, 115, 0, 115, 0, 118, 0, 137, 0, 115, 0, 137, 0, 196, 0, 115, 0, 196, 0, 193, 0, 196, 0, 221, 1, 193, 0, 196, 0, 220, 1, 221, 1, 123, 1, 37, 0, 35, 0, 123, 1, 125, 1, 37, 0, 123, 1, 105, 1, 125, 1, 123, 1, 64, 1, 105, 1, 22, 1, 64, 1, 123, 1, 22, 1, 25, 1, 64, 1, 22, 1, 6, 1, 25, 1, 22, 1, 225, 1, 6, 1, 22, 1, 226, 1, 225, 1, 37, 0, 153, 1, 77, 0, 108, 0, 35, 0, 115, 0, 108, 0, 115, 0, 193, 0, 14, 1, 35, 0, 108, 0, 14, 1, 123, 1, 35, 0, 14, 1, 22, 1, 123, 1, 14, 1, 224, 1, 22, 1, 108, 0, 193, 0, 223, 1, 221, 1, 223, 1, 193, 0, 108, 0, 223, 1, 236, 1, 77, 0, 153, 1, 118, 0, 118, 0, 153, 1, 126, 0, 153, 1, 86, 0, 126, 0, 118, 0, 126, 0, 137, 0, 137, 0, 126, 0, 145, 0, 137, 0, 145, 0, 196, 0, 145, 0, 238, 1, 219, 1, 145, 0, 239, 1, 238, 1, 145, 0, 219, 1, 196, 0, 219, 1, 220, 1, 196, 0, 37, 0, 125, 1, 153, 1, 105, 1, 153, 1, 125, 1, 105, 1, 92, 1, 153, 1, 64, 1, 25, 1, 105, 1, 232, 1, 249, 0, 234, 1, 233, 1, 224, 1, 14, 1, 224, 1, 226, 1, 22, 1, 230, 1, 6, 1, 225, 1, 6, 1, 230, 1, 25, 1, 25, 1, 230, 1, 12, 1, 230, 1, 234, 1, 12, 1, 249, 0, 12, 1, 234, 1, 25, 1, 92, 1, 105, 1, 25, 1, 12, 1, 92, 1, 3, 2, 249, 1, 1, 2, 19, 2, 5, 2, 255, 1, 3, 2, 5, 2, 19, 2, 255, 1, 249, 1, 19, 2, 3, 2, 242, 1, 5, 2, 249, 1, 255, 1, 12, 2, 3, 2, 30, 2, 242, 1, 251, 1, 30, 2, 3, 2, 28, 2, 30, 2, 251, 1, 247, 1, 249, 1, 12, 2, 247, 1, 0, 2, 249, 1, 247, 1, 1, 2, 0, 2, 247, 1, 8, 2, 1, 2, 246, 1, 8, 2, 247, 1, 15, 2, 8, 2, 246, 1, 15, 2, 9, 2, 8, 2, 15, 2, 14, 2, 9, 2, 23, 2, 14, 2, 15, 2, 252, 1, 14, 2, 23, 2, 252, 1, 28, 2, 14, 2, 28, 2, 252, 1, 30, 2, 8, 2, 9, 2, 14, 2), 0.0738546, PackedByteArray(221, 1, 233, 1, 223, 1, 233, 1, 236, 1, 223, 1, 221, 1, 244, 1, 233, 1, 220, 1, 244, 1, 221, 1, 244, 1, 220, 1, 219, 1, 244, 1, 224, 1, 233, 1, 244, 1, 226, 1, 224, 1, 244, 1, 225, 1, 226, 1, 234, 1, 225, 1, 244, 1, 219, 1, 246, 1, 244, 1, 234, 1, 244, 1, 252, 1, 252, 1, 232, 1, 234, 1, 233, 1, 232, 1, 252, 1, 15, 2, 246, 1, 219, 1, 233, 1, 252, 1, 15, 2, 15, 2, 236, 1, 233, 1, 15, 2, 252, 1, 26, 2, 15, 2, 239, 1, 236, 1, 239, 1, 15, 2, 219, 1, 115, 0, 64, 1, 118, 0, 118, 0, 221, 1, 115, 0, 118, 0, 220, 1, 221, 1, 22, 1, 64, 1, 115, 0, 22, 1, 25, 1, 64, 1, 22, 1, 6, 1, 25, 1, 22, 1, 225, 1, 6, 1, 22, 1, 226, 1, 225, 1, 64, 1, 44, 0, 118, 0, 64, 1, 92, 1, 44, 0, 25, 1, 92, 1, 64, 1, 44, 0, 239, 1, 219, 1, 44, 0, 219, 1, 118, 0, 219, 1, 220, 1, 118, 0, 47, 0, 115, 0, 223, 1, 47, 0, 223, 1, 236, 1, 221, 1, 223, 1, 115, 0, 95, 1, 115, 0, 47, 0, 95, 1, 22, 1, 115, 0, 95, 1, 224, 1, 22, 1, 233, 1, 224, 1, 95, 1, 47, 0, 239, 1, 44, 0, 47, 0, 236, 1, 239, 1, 44, 0, 95, 1, 47, 0, 92, 1, 95, 1, 44, 0, 249, 0, 95, 1, 92, 1, 249, 0, 233, 1, 95, 1, 249, 0, 232, 1, 233, 1, 232, 1, 249, 0, 234, 1, 234, 1, 6, 1, 225, 1, 6, 1, 234, 1, 25, 1, 25, 1, 234, 1, 249, 0, 224, 1, 226, 1, 22, 1, 25, 1, 249, 0, 92, 1, 246, 1, 14, 2, 244, 1, 14, 2, 252, 1, 244, 1, 15, 2, 14, 2, 246, 1, 252, 1, 14, 2, 26, 2, 26, 2, 14, 2, 15, 2)],
+"primitive": 3,
+"vertex_count": 546,
+"vertex_data": PackedByteArray(70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_gro0q"]
resource_name = "teacup_Sphere"
-surfaces/0 = {
-"aabb": AABB( -0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12 ),
-"array_data": PoolByteArray( 70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 92, 222, 221, 17, 94, 49, 36, 55, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 156, 130, 112, 72, 115, 52, 63, 59, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 176, 130, 114, 73, 92, 52, 237, 58, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 79, 226, 222, 17, 94, 49, 101, 55, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 0, 0, 221, 17, 94, 49, 145, 55, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 73, 229, 222, 17, 94, 49, 145, 55, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 120, 155, 76, 79, 110, 53, 136, 59, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 183, 27, 221, 17, 179, 55, 229, 54, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 0, 0, 221, 17, 94, 49, 162, 55, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 104, 152, 81, 79, 29, 53, 41, 59, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 0, 7, 40, 109, 99, 59, 112, 57, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 177, 30, 221, 17, 179, 55, 14, 55, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 86, 148, 89, 79, 219, 52, 220, 58, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 164, 34, 221, 17, 179, 55, 81, 55, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 0, 26, 54, 109, 16, 59, 148, 57, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 160, 47, 221, 17, 179, 55, 147, 55, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 70, 144, 99, 77, 165, 52, 155, 58, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 157, 53, 221, 17, 179, 55, 189, 55, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 127, 127, 222, 17, 94, 49, 165, 54, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 0, 63, 78, 111, 146, 58, 201, 57, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 127, 127, 222, 17, 94, 49, 183, 54, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 99, 203, 222, 17, 94, 49, 183, 54, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 53, 141, 107, 76, 117, 52, 96, 58, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 96, 209, 222, 17, 94, 49, 226, 54, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 26, 135, 118, 72, 73, 52, 40, 58, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 111, 241, 241, 7, 188, 48, 36, 55, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 121, 174, 54, 86, 52, 54, 78, 59, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 94, 243, 241, 7, 189, 48, 101, 55, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 106, 168, 60, 86, 180, 53, 253, 58, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 0, 0, 241, 7, 191, 48, 145, 55, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 85, 244, 241, 7, 191, 48, 145, 55, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 89, 162, 70, 85, 78, 53, 188, 58, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 170, 11, 242, 8, 111, 55, 228, 54, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 0, 0, 240, 8, 194, 48, 163, 55, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 162, 13, 241, 8, 112, 55, 14, 55, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 231, 6, 15, 121, 126, 59, 210, 57, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 145, 15, 241, 7, 112, 55, 81, 55, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 73, 157, 84, 83, 247, 52, 131, 58, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 234, 22, 39, 116, 35, 59, 223, 57, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 143, 32, 240, 7, 112, 55, 148, 55, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 56, 150, 97, 80, 170, 52, 81, 58, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 141, 40, 240, 7, 111, 55, 189, 55, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 127, 129, 240, 8, 194, 48, 165, 54, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 28, 140, 113, 74, 99, 52, 33, 58, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 126, 129, 242, 7, 191, 48, 183, 54, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 114, 215, 241, 7, 191, 48, 183, 54, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 238, 40, 56, 116, 219, 58, 232, 57, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 113, 224, 241, 7, 189, 48, 226, 54, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 115, 11, 11, 5, 29, 48, 36, 55, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 242, 56, 73, 114, 157, 58, 241, 57, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 121, 190, 36, 93, 212, 54, 253, 58, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 97, 9, 11, 5, 30, 48, 101, 55, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 0, 0, 12, 6, 34, 48, 145, 55, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 88, 8, 11, 5, 34, 48, 145, 55, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 245, 73, 88, 113, 102, 58, 248, 57, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 106, 183, 44, 93, 48, 54, 191, 58, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 169, 248, 12, 7, 44, 55, 227, 54, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 0, 0, 9, 4, 40, 48, 163, 55, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 250, 94, 104, 111, 50, 58, 255, 57, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 159, 247, 11, 6, 45, 55, 13, 55, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 90, 175, 58, 91, 171, 53, 141, 58, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 141, 245, 11, 5, 45, 55, 81, 55, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 139, 227, 12, 5, 45, 55, 148, 55, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 74, 167, 73, 88, 59, 53, 98, 58, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 138, 217, 14, 6, 44, 55, 191, 55, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 126, 129, 10, 5, 40, 48, 164, 54, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 57, 158, 89, 84, 214, 52, 60, 58, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 126, 129, 12, 6, 34, 48, 183, 54, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 118, 38, 10, 5, 34, 48, 183, 54, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 29, 144, 110, 76, 121, 52, 23, 58, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 117, 29, 11, 5, 30, 48, 227, 54, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 121, 206, 21, 102, 68, 55, 154, 58, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 93, 33, 33, 16, 9, 47, 36, 55, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 106, 197, 33, 101, 135, 54, 116, 58, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 79, 28, 34, 16, 13, 47, 100, 55, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 89, 186, 50, 97, 238, 53, 85, 58, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 0, 0, 34, 17, 22, 47, 144, 55, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 73, 25, 33, 16, 22, 47, 144, 55, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 212, 5, 229, 120, 126, 59, 56, 58, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 218, 20, 30, 125, 35, 59, 44, 58, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 184, 230, 33, 18, 234, 54, 225, 54, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 0, 0, 32, 16, 34, 47, 163, 55, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 176, 46, 98, 118, 82, 58, 208, 58, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 177, 228, 33, 17, 235, 54, 12, 55, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 73, 176, 67, 93, 107, 53, 58, 58, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 163, 223, 33, 16, 235, 54, 81, 55, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 224, 37, 53, 121, 218, 58, 34, 58, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 158, 209, 34, 16, 235, 54, 149, 55, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 56, 165, 84, 87, 246, 52, 33, 58, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 156, 202, 36, 16, 234, 54, 192, 55, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 126, 129, 32, 16, 34, 47, 164, 54, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 229, 53, 71, 117, 156, 58, 26, 58, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 126, 129, 34, 17, 22, 47, 183, 54, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 101, 53, 33, 16, 22, 47, 183, 54, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 28, 148, 107, 77, 137, 52, 10, 58, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 98, 47, 33, 17, 13, 47, 227, 54, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 236, 70, 87, 114, 102, 58, 19, 58, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 120, 225, 10, 114, 126, 55, 44, 58, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 74, 52, 52, 26, 231, 45, 36, 55, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 244, 91, 104, 111, 50, 58, 12, 58, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 64, 45, 52, 26, 235, 45, 100, 55, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 104, 212, 27, 109, 180, 54, 33, 58, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 0, 0, 53, 26, 243, 45, 144, 55, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 58, 41, 52, 26, 243, 45, 144, 55, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 86, 198, 47, 103, 17, 54, 22, 58, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 198, 215, 52, 27, 170, 54, 223, 54, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 0, 0, 51, 25, 255, 45, 164, 55, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 193, 211, 52, 26, 171, 54, 11, 55, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 70, 185, 65, 96, 133, 53, 13, 58, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 53, 172, 82, 89, 7, 53, 4, 58, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 182, 204, 52, 26, 171, 54, 81, 55, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 26, 150, 106, 78, 146, 52, 251, 57, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 175, 193, 53, 26, 171, 54, 150, 55, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 171, 188, 54, 26, 170, 54, 194, 55, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 126, 127, 51, 25, 255, 45, 163, 54, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 119, 249, 17, 123, 125, 55, 191, 57, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 100, 230, 34, 114, 181, 54, 203, 57, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 126, 127, 53, 26, 243, 45, 184, 54, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 85, 68, 52, 26, 243, 45, 184, 54, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 81, 62, 52, 26, 235, 45, 228, 54, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 196, 5, 207, 116, 99, 59, 155, 58, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 55, 71, 71, 35, 209, 44, 36, 55, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 80, 210, 54, 106, 19, 54, 213, 57, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 203, 20, 209, 122, 14, 59, 118, 58, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 47, 61, 71, 35, 212, 44, 99, 55, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 0, 0, 70, 35, 220, 44, 144, 55, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 43, 55, 70, 35, 220, 44, 144, 55, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 63, 193, 67, 97, 134, 53, 222, 57, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 211, 36, 56, 124, 202, 58, 90, 58, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 213, 201, 70, 36, 108, 54, 222, 54, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 0, 0, 69, 34, 227, 44, 165, 55, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 47, 177, 83, 90, 8, 53, 229, 57, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 209, 196, 70, 35, 109, 54, 10, 55, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 219, 52, 73, 119, 145, 58, 66, 58, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 201, 185, 71, 35, 108, 54, 81, 55, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 190, 177, 71, 35, 109, 54, 151, 55, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 22, 152, 106, 79, 147, 52, 236, 57, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 185, 173, 72, 35, 108, 54, 196, 55, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 126, 127, 69, 34, 227, 44, 162, 54, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 228, 69, 89, 115, 94, 58, 45, 58, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 95, 250, 39, 120, 77, 55, 84, 57, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 126, 127, 70, 35, 220, 44, 184, 54, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 71, 83, 70, 35, 220, 44, 184, 54, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 239, 91, 106, 111, 47, 58, 25, 58, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 65, 79, 71, 35, 212, 44, 228, 54, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 34, 92, 91, 46, 131, 43, 36, 55, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 82, 234, 52, 113, 138, 54, 119, 57, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 68, 216, 63, 105, 243, 53, 151, 57, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 29, 77, 90, 46, 134, 43, 100, 55, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 55, 200, 73, 97, 111, 53, 176, 57, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 0, 0, 90, 45, 141, 43, 144, 55, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 26, 70, 89, 45, 141, 43, 144, 55, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 230, 186, 92, 46, 47, 54, 221, 54, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 0, 0, 90, 45, 146, 43, 167, 55, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 42, 183, 86, 90, 250, 52, 200, 57, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 227, 179, 92, 46, 47, 54, 10, 55, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 20, 156, 107, 79, 140, 52, 221, 57, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 222, 164, 91, 46, 47, 54, 81, 55, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 180, 5, 191, 116, 47, 59, 241, 58, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 207, 159, 91, 46, 47, 54, 151, 55, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 76, 251, 61, 114, 224, 54, 239, 56, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 200, 156, 91, 46, 47, 54, 197, 55, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 127, 127, 89, 44, 146, 43, 161, 54, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 189, 20, 192, 121, 231, 58, 185, 58, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 127, 127, 89, 44, 141, 43, 183, 54, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 56, 100, 91, 45, 141, 43, 183, 54, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 67, 236, 68, 108, 57, 54, 43, 57, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 49, 97, 92, 45, 134, 43, 228, 54, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 56, 219, 73, 102, 180, 53, 93, 57, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 7, 119, 119, 59, 86, 41, 36, 55, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 200, 37, 66, 125, 174, 58, 140, 58, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 6, 98, 113, 59, 91, 41, 102, 55, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 210, 53, 80, 120, 125, 58, 101, 58, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 0, 0, 112, 56, 96, 41, 147, 55, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 5, 87, 112, 59, 96, 41, 147, 55, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 46, 203, 81, 95, 66, 53, 135, 57, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 221, 70, 94, 115, 81, 58, 68, 58, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 251, 169, 118, 58, 241, 53, 222, 54, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 0, 0, 114, 57, 92, 41, 169, 55, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 251, 159, 119, 59, 241, 53, 10, 55, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 35, 186, 91, 88, 221, 52, 173, 57, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 234, 91, 108, 111, 40, 58, 36, 58, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 249, 137, 119, 59, 242, 53, 81, 55, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 227, 135, 117, 59, 241, 53, 151, 55, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 18, 158, 110, 78, 125, 52, 208, 57, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 60, 251, 79, 106, 66, 54, 155, 56, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 217, 135, 116, 59, 241, 53, 195, 55, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 126, 127, 114, 57, 92, 41, 159, 54, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 53, 236, 82, 102, 193, 53, 236, 56, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 126, 127, 113, 56, 96, 41, 180, 54, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 39, 121, 118, 56, 96, 41, 180, 54, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 28, 120, 118, 57, 91, 41, 226, 54, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 45, 220, 85, 97, 89, 53, 45, 57, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 233, 103, 103, 76, 253, 37, 36, 55, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 37, 204, 90, 91, 1, 53, 101, 57, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 236, 86, 98, 74, 28, 38, 106, 55, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 28, 187, 98, 85, 179, 52, 151, 57, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 238, 78, 97, 73, 69, 38, 153, 55, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 0, 0, 115, 69, 69, 38, 153, 55, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 14, 159, 113, 76, 104, 52, 197, 57, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 0, 0, 114, 69, 66, 38, 174, 55, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 18, 178, 105, 76, 180, 53, 224, 54, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 161, 6, 177, 119, 230, 58, 55, 59, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 44, 251, 95, 96, 126, 53, 95, 56, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 20, 170, 103, 76, 179, 53, 12, 55, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 24, 154, 102, 75, 180, 53, 81, 55, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 174, 22, 178, 123, 177, 58, 239, 58, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 40, 150, 100, 75, 179, 53, 150, 55, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 38, 236, 96, 93, 43, 53, 190, 56, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 188, 40, 82, 123, 133, 58, 181, 58, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 126, 127, 113, 70, 66, 38, 153, 54, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 48, 148, 101, 74, 180, 53, 193, 55, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 208, 108, 107, 78, 69, 38, 175, 54, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 126, 127, 115, 69, 69, 38, 175, 54, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 201, 56, 91, 118, 96, 58, 131, 58, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 216, 106, 106, 78, 28, 38, 221, 54, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 32, 219, 98, 89, 233, 52, 11, 57, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 214, 73, 101, 114, 62, 58, 86, 58, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 27, 203, 101, 85, 177, 52, 76, 57, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 221, 64, 74, 80, 14, 30, 166, 55, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 0, 0, 101, 76, 14, 30, 166, 55, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 20, 186, 107, 80, 126, 52, 135, 57, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 231, 94, 112, 111, 31, 58, 45, 58, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 0, 0, 102, 75, 136, 30, 187, 55, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 35, 191, 86, 86, 116, 53, 228, 54, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 10, 158, 118, 74, 78, 52, 189, 57, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 38, 186, 84, 87, 116, 53, 14, 55, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 25, 250, 112, 82, 160, 52, 62, 56, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 44, 174, 82, 85, 118, 53, 81, 55, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 56, 168, 79, 84, 116, 53, 147, 55, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 22, 234, 113, 80, 130, 52, 165, 56, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 126, 129, 103, 75, 136, 30, 141, 54, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 61, 165, 80, 83, 116, 53, 190, 55, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 18, 216, 114, 78, 106, 52, 248, 56, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 14, 200, 115, 76, 86, 52, 63, 57, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 194, 91, 93, 89, 14, 30, 161, 54, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 126, 129, 102, 75, 14, 30, 161, 54, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 137, 7, 92, 125, 143, 58, 104, 59, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 11, 183, 118, 74, 67, 52, 126, 57, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 156, 26, 94, 122, 109, 58, 21, 59, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 5, 156, 123, 71, 49, 52, 185, 57, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 0, 249, 114, 56, 114, 51, 60, 56, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 0, 230, 114, 55, 163, 51, 163, 56, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 193, 63, 103, 115, 60, 58, 151, 58, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 0, 210, 116, 54, 205, 51, 247, 56, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 209, 79, 110, 112, 39, 58, 99, 58, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 229, 99, 117, 110, 19, 58, 52, 58, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 0, 193, 118, 54, 239, 51, 62, 57, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 0, 177, 120, 55, 6, 52, 125, 57, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 0, 152, 124, 56, 19, 52, 184, 57, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 231, 250, 77, 48, 177, 49, 88, 56, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 234, 234, 82, 47, 77, 50, 185, 56, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 238, 216, 90, 48, 203, 50, 7, 57, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 136, 31, 116, 114, 45, 58, 128, 59, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 242, 200, 100, 49, 55, 51, 73, 57, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 152, 44, 116, 113, 35, 58, 38, 59, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 245, 183, 107, 50, 149, 51, 132, 57, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 170, 58, 117, 112, 27, 58, 223, 58, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 251, 156, 118, 54, 235, 51, 188, 57, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 186, 71, 119, 111, 19, 58, 161, 58, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 212, 251, 54, 41, 28, 48, 145, 56, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 218, 236, 60, 40, 24, 49, 228, 56, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 203, 84, 121, 110, 13, 58, 106, 58, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 224, 219, 70, 41, 227, 49, 39, 57, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 224, 101, 123, 109, 7, 58, 55, 58, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 229, 203, 83, 43, 144, 50, 96, 57, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 236, 186, 97, 46, 40, 51, 147, 57, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 246, 158, 114, 52, 182, 51, 195, 57, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 196, 251, 37, 34, 162, 45, 226, 56, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 203, 236, 44, 33, 26, 48, 33, 57, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 211, 220, 58, 35, 37, 49, 85, 57, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 135, 50, 114, 20, 201, 57, 127, 59, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 219, 204, 73, 38, 6, 50, 129, 57, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 150, 59, 115, 19, 215, 57, 37, 59, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 228, 187, 89, 42, 207, 50, 168, 57, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 167, 70, 115, 18, 225, 57, 221, 58, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 242, 159, 110, 50, 137, 51, 205, 57, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 183, 80, 117, 18, 234, 57, 160, 58, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 200, 91, 120, 17, 242, 57, 106, 58, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 180, 251, 22, 25, 150, 43, 69, 57, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 221, 104, 123, 18, 249, 57, 55, 58, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 189, 236, 33, 25, 204, 46, 109, 57, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 200, 219, 50, 29, 156, 48, 142, 57, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 210, 203, 67, 34, 164, 49, 169, 57, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 221, 186, 84, 39, 143, 50, 194, 57, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 238, 158, 107, 49, 105, 51, 218, 57, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 0, 129, 127, 69, 31, 52, 242, 57, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 161, 250, 11, 13, 167, 41, 181, 57, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 135, 66, 95, 23, 105, 57, 99, 59, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 183, 231, 205, 110, 69, 53, 165, 55, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 0, 0, 204, 100, 69, 53, 165, 55, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 174, 234, 27, 16, 14, 46, 194, 57, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 0, 0, 204, 100, 67, 53, 186, 55, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 72, 26, 222, 106, 249, 56, 228, 54, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 150, 73, 96, 21, 142, 57, 15, 59, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 188, 216, 47, 23, 84, 48, 205, 57, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 79, 28, 223, 108, 249, 56, 14, 55, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 93, 33, 223, 110, 248, 56, 81, 55, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 166, 81, 99, 19, 171, 57, 205, 58, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 98, 47, 218, 110, 249, 56, 147, 55, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 201, 200, 65, 30, 111, 49, 215, 57, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 127, 127, 205, 101, 67, 53, 141, 54, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 100, 54, 216, 109, 249, 56, 190, 55, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 182, 89, 104, 18, 195, 57, 149, 58, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 214, 183, 82, 37, 108, 50, 224, 57, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 155, 203, 223, 101, 69, 53, 162, 54, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 127, 127, 205, 101, 69, 53, 162, 54, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 199, 98, 110, 17, 217, 57, 99, 58, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 236, 156, 106, 48, 88, 51, 233, 57, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 182, 204, 203, 100, 253, 52, 36, 55, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 221, 109, 117, 17, 237, 57, 52, 58, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 192, 211, 199, 101, 252, 52, 106, 55, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 198, 215, 196, 101, 249, 52, 152, 55, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 0, 0, 196, 96, 249, 52, 152, 55, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 137, 249, 15, 3, 153, 41, 40, 58, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 0, 0, 197, 97, 249, 52, 174, 55, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 58, 41, 204, 99, 217, 56, 224, 54, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 156, 230, 37, 11, 7, 46, 27, 58, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 176, 210, 53, 20, 80, 48, 16, 58, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 63, 45, 205, 99, 217, 56, 12, 55, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 74, 52, 204, 100, 217, 56, 81, 55, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 193, 193, 68, 28, 108, 49, 7, 58, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 209, 177, 83, 36, 105, 50, 255, 57, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 81, 63, 202, 101, 217, 56, 150, 55, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 126, 129, 197, 97, 249, 52, 154, 54, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 85, 68, 201, 100, 217, 56, 193, 55, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 135, 82, 80, 24, 20, 57, 46, 59, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 234, 152, 106, 47, 87, 51, 248, 57, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 171, 188, 206, 96, 249, 52, 175, 54, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 126, 129, 196, 96, 249, 52, 175, 54, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 175, 194, 205, 98, 252, 52, 221, 54, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 150, 88, 82, 22, 77, 57, 233, 58, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 136, 225, 41, 6, 110, 43, 152, 58, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 201, 185, 186, 91, 179, 52, 36, 55, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 167, 94, 87, 19, 122, 57, 176, 58, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 209, 195, 183, 92, 178, 52, 102, 55, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 152, 212, 53, 13, 184, 46, 112, 58, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 213, 201, 183, 92, 178, 52, 147, 55, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 0, 0, 182, 89, 178, 52, 147, 55, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 0, 0, 183, 90, 178, 52, 168, 55, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 43, 55, 186, 90, 186, 56, 222, 54, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 183, 99, 93, 17, 160, 57, 128, 58, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 170, 198, 63, 21, 145, 48, 80, 58, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 47, 60, 186, 91, 186, 56, 10, 55, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 200, 106, 101, 16, 194, 57, 86, 58, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 55, 71, 186, 91, 186, 56, 81, 55, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 66, 79, 185, 91, 186, 56, 151, 55, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 186, 185, 74, 29, 154, 49, 53, 58, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 203, 172, 87, 36, 135, 50, 29, 58, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 126, 129, 182, 89, 178, 52, 159, 54, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 71, 83, 184, 91, 186, 56, 196, 55, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 185, 173, 187, 89, 178, 52, 180, 54, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 126, 129, 181, 89, 178, 52, 180, 54, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 221, 114, 112, 17, 225, 57, 45, 58, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 230, 150, 107, 47, 101, 51, 7, 58, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 191, 177, 187, 90, 178, 52, 226, 54, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 222, 164, 165, 80, 109, 52, 36, 55, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 135, 206, 63, 13, 129, 45, 253, 58, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 227, 179, 164, 81, 109, 52, 100, 55, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 150, 197, 69, 18, 10, 48, 189, 58, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 230, 186, 163, 81, 108, 52, 144, 55, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 0, 0, 162, 79, 108, 52, 144, 55, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 167, 186, 74, 24, 19, 49, 138, 58, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 0, 0, 162, 79, 107, 52, 167, 55, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 26, 70, 165, 80, 156, 56, 221, 54, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 183, 176, 82, 31, 246, 49, 94, 58, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 136, 101, 61, 22, 209, 56, 230, 58, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 29, 77, 165, 80, 155, 56, 10, 55, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 34, 92, 165, 80, 155, 56, 81, 55, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 200, 165, 92, 38, 194, 50, 56, 58, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 49, 97, 164, 80, 155, 56, 151, 55, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 228, 148, 110, 48, 130, 51, 20, 58, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 152, 104, 66, 19, 24, 57, 178, 58, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 126, 129, 163, 80, 107, 52, 161, 54, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 56, 100, 165, 80, 156, 56, 197, 55, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 200, 156, 165, 80, 108, 52, 183, 54, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 126, 129, 163, 80, 108, 52, 183, 54, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 135, 190, 81, 21, 6, 48, 79, 59, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 170, 108, 75, 17, 82, 57, 136, 58, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 207, 159, 165, 80, 109, 52, 228, 54, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 150, 183, 83, 25, 2, 49, 252, 58, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 249, 137, 137, 67, 41, 52, 36, 55, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 186, 112, 84, 16, 131, 57, 100, 58, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 250, 158, 137, 67, 40, 52, 99, 55, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 166, 175, 86, 29, 205, 49, 185, 58, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 251, 169, 136, 67, 39, 52, 144, 55, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 0, 0, 137, 67, 39, 52, 144, 55, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 203, 115, 95, 15, 175, 57, 67, 58, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 0, 0, 134, 65, 37, 52, 165, 55, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 5, 87, 138, 68, 125, 56, 222, 54, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 5, 97, 137, 67, 125, 56, 10, 55, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 182, 167, 91, 35, 123, 50, 128, 58, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 224, 120, 108, 16, 216, 57, 36, 58, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 7, 119, 137, 67, 125, 56, 81, 55, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 199, 158, 99, 41, 24, 51, 78, 58, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 29, 121, 138, 67, 125, 56, 151, 55, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 126, 129, 134, 65, 37, 52, 163, 54, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 39, 121, 139, 67, 125, 56, 196, 55, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 227, 144, 113, 50, 172, 51, 31, 58, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 135, 174, 96, 31, 150, 49, 136, 59, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 217, 135, 137, 66, 39, 52, 184, 54, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 126, 129, 136, 66, 39, 52, 184, 54, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 150, 168, 98, 33, 51, 50, 40, 59, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 228, 136, 137, 67, 40, 52, 228, 54, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 167, 162, 99, 37, 177, 50, 219, 58, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 23, 153, 153, 51, 200, 51, 36, 55, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 119, 126, 39, 16, 163, 56, 145, 58, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 20, 170, 154, 51, 198, 51, 100, 55, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 0, 0, 153, 51, 194, 51, 144, 55, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 18, 178, 154, 51, 194, 51, 144, 55, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 183, 157, 102, 41, 30, 51, 153, 58, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 200, 150, 107, 46, 129, 51, 94, 58, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 238, 78, 152, 51, 94, 56, 223, 54, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 0, 0, 155, 50, 188, 51, 164, 55, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 236, 86, 153, 50, 93, 56, 11, 55, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 100, 126, 50, 14, 244, 56, 113, 58, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 228, 140, 118, 52, 224, 51, 39, 58, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 232, 102, 154, 51, 93, 56, 81, 55, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 216, 106, 155, 51, 93, 56, 150, 55, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 80, 126, 65, 15, 53, 57, 87, 58, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 136, 155, 114, 45, 83, 51, 166, 59, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 208, 108, 154, 52, 94, 56, 194, 55, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 127, 127, 155, 50, 188, 51, 163, 54, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 63, 126, 76, 13, 111, 57, 64, 58, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 127, 127, 153, 51, 194, 51, 184, 54, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 48, 148, 154, 51, 194, 51, 184, 54, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 40, 150, 153, 51, 198, 51, 228, 54, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 152, 152, 115, 46, 135, 51, 63, 59, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 44, 174, 174, 41, 55, 51, 36, 55, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 47, 127, 90, 14, 162, 57, 44, 58, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 170, 148, 115, 48, 176, 51, 236, 58, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 38, 185, 174, 41, 53, 51, 100, 55, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 229, 127, 106, 15, 210, 57, 24, 58, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 0, 0, 173, 41, 49, 51, 144, 55, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 35, 192, 175, 41, 49, 51, 144, 55, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 186, 144, 116, 50, 212, 51, 166, 58, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 221, 65, 173, 40, 62, 56, 225, 54, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 0, 0, 175, 40, 43, 51, 163, 55, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 203, 141, 119, 52, 247, 51, 102, 58, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 218, 70, 174, 40, 61, 56, 12, 55, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 230, 135, 123, 55, 13, 52, 44, 58, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 212, 82, 174, 41, 61, 56, 81, 55, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 137, 130, 112, 71, 144, 52, 166, 59, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 200, 88, 175, 41, 61, 56, 149, 55, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 193, 130, 117, 72, 73, 52, 166, 58, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 195, 91, 175, 41, 62, 56, 192, 55, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 127, 127, 175, 40, 43, 51, 164, 54, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 120, 101, 16, 6, 140, 56, 51, 58, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 127, 127, 173, 41, 49, 51, 183, 54, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 62, 165, 174, 40, 49, 51, 183, 54, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 209, 130, 120, 72, 57, 52, 103, 58, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 55, 168, 174, 41, 53, 51, 227, 54, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 234, 129, 124, 70, 43, 52, 44, 58, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 61, 191, 191, 32, 158, 50, 36, 55, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 104, 104, 36, 8, 225, 56, 41, 58, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 53, 199, 191, 33, 157, 50, 101, 55, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 86, 108, 57, 11, 40, 57, 32, 58, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 0, 0, 190, 33, 153, 50, 145, 55, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 49, 204, 191, 32, 153, 50, 145, 55, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 70, 112, 72, 11, 100, 57, 25, 58, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 208, 53, 189, 32, 29, 56, 227, 54, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 0, 0, 191, 32, 148, 50, 163, 55, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 53, 115, 87, 12, 155, 57, 18, 58, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 203, 57, 190, 32, 29, 56, 13, 55, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 32, 120, 104, 15, 206, 57, 12, 58, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 195, 65, 191, 32, 29, 56, 81, 55, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 121, 82, 230, 6, 141, 56, 212, 57, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 187, 73, 191, 33, 29, 56, 148, 55, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 106, 88, 30, 1, 226, 56, 223, 57, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 183, 78, 191, 33, 29, 56, 191, 55, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 127, 127, 191, 32, 148, 50, 164, 54, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 89, 94, 53, 6, 40, 57, 232, 57, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 127, 127, 190, 33, 153, 50, 183, 54, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 74, 179, 191, 32, 153, 50, 183, 54, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 73, 99, 71, 9, 101, 57, 240, 57, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 69, 183, 190, 32, 157, 50, 227, 54, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 56, 106, 87, 11, 155, 57, 248, 57, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 76, 206, 206, 25, 0, 50, 36, 55, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 35, 114, 104, 14, 206, 57, 255, 57, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 66, 212, 206, 25, 255, 49, 101, 55, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 0, 127, 127, 18, 0, 58, 5, 58, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 0, 0, 205, 25, 252, 49, 145, 55, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 61, 216, 206, 25, 252, 49, 145, 55, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 121, 66, 207, 10, 165, 56, 119, 57, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 195, 41, 205, 25, 247, 55, 228, 54, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 0, 0, 206, 25, 249, 49, 163, 55, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 106, 73, 210, 4, 245, 56, 151, 57, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 190, 44, 205, 25, 247, 55, 14, 55, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 90, 81, 56, 2, 55, 57, 177, 57, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 180, 50, 206, 25, 247, 55, 81, 55, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 74, 89, 73, 8, 112, 57, 200, 57, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 174, 60, 206, 25, 247, 55, 148, 55, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 57, 98, 89, 11, 162, 57, 222, 57, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 171, 65, 206, 25, 247, 55, 189, 55, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 127, 127, 206, 25, 249, 49, 165, 54, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 35, 109, 106, 14, 210, 57, 242, 57, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 127, 127, 205, 25, 252, 49, 183, 54, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 86, 191, 206, 25, 252, 49, 183, 54, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 121, 50, 191, 10, 212, 56, 35, 57, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 82, 196, 205, 25, 255, 49, 226, 54, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 106, 59, 195, 5, 26, 57, 86, 57, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 89, 70, 66, 2, 83, 57, 129, 57, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 73, 80, 80, 7, 132, 57, 165, 57, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 56, 91, 94, 11, 175, 57, 199, 57, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 35, 104, 108, 15, 216, 57, 230, 57, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 120, 31, 180, 6, 23, 57, 220, 56, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 104, 44, 182, 2, 78, 57, 33, 57, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 86, 58, 80, 4, 123, 57, 88, 57, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 70, 71, 90, 8, 161, 57, 136, 57, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 53, 84, 101, 12, 194, 57, 180, 57, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 32, 101, 112, 15, 225, 57, 221, 57, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 119, 7, 89, 1, 107, 57, 169, 56, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 100, 26, 92, 4, 143, 57, 250, 56, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 80, 46, 97, 8, 172, 57, 60, 57, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 63, 63, 103, 11, 196, 57, 116, 57, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 47, 79, 109, 14, 217, 57, 167, 57, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 27, 99, 117, 16, 237, 57, 215, 57, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 95, 6, 112, 12, 201, 57, 141, 56, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 82, 22, 113, 13, 216, 57, 229, 56, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 68, 40, 115, 14, 227, 57, 44, 57, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 55, 56, 118, 16, 236, 57, 105, 57, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 42, 73, 120, 17, 243, 57, 160, 57, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 25, 94, 123, 17, 250, 57, 211, 57, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 76, 5, 117, 105, 44, 58, 138, 56, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 67, 20, 118, 106, 35, 58, 228, 56, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 56, 37, 118, 107, 28, 58, 44, 57, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 46, 53, 118, 108, 21, 58, 105, 57, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 35, 70, 121, 108, 14, 58, 160, 57, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 22, 91, 123, 108, 7, 58, 211, 57, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 60, 5, 99, 102, 142, 58, 162, 56, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 53, 20, 100, 104, 109, 58, 246, 56, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 45, 36, 102, 106, 83, 58, 58, 57, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 37, 52, 105, 108, 61, 58, 116, 57, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 28, 69, 110, 109, 39, 58, 166, 57, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 17, 91, 117, 109, 20, 58, 214, 57, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 44, 5, 81, 102, 230, 58, 210, 56, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 38, 20, 85, 103, 176, 58, 28, 57, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 32, 37, 88, 106, 133, 58, 87, 57, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 27, 53, 94, 108, 96, 58, 136, 57, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 20, 70, 102, 109, 63, 58, 180, 57, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 12, 91, 112, 109, 31, 58, 221, 57, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 25, 6, 62, 104, 48, 59, 24, 57, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 22, 22, 67, 106, 231, 58, 82, 57, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 18, 40, 75, 109, 173, 58, 127, 57, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 14, 56, 85, 110, 125, 58, 165, 57, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 11, 73, 95, 111, 81, 58, 199, 57, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 6, 94, 108, 110, 40, 58, 230, 57, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 0, 46, 64, 112, 203, 58, 176, 57, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 0, 79, 90, 112, 95, 58, 222, 57, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 0, 99, 106, 111, 47, 58, 242, 57, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 207, 97, 96, 84, 249, 28, 211, 54, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 113, 230, 23, 120, 108, 55, 234, 57, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 200, 97, 97, 85, 76, 28, 197, 54, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 113, 230, 14, 118, 102, 55, 241, 57, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 188, 84, 89, 94, 151, 25, 157, 54, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 126, 129, 96, 78, 151, 25, 157, 54, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 113, 230, 14, 118, 81, 55, 2, 58, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 126, 129, 99, 77, 61, 8, 131, 54, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 68, 172, 71, 87, 93, 53, 188, 55, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 113, 230, 39, 123, 52, 55, 2, 58, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 53, 183, 73, 90, 101, 53, 81, 55, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 112, 242, 24, 120, 31, 55, 196, 57, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 63, 176, 71, 88, 91, 53, 145, 55, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 113, 230, 24, 121, 35, 55, 235, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 75, 196, 56, 99, 227, 53, 244, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 107, 38, 226, 115, 4, 57, 146, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 147, 210, 231, 101, 82, 53, 158, 54, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 127, 127, 207, 102, 82, 53, 158, 54, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 75, 196, 56, 100, 198, 53, 5, 58, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 127, 127, 206, 101, 90, 53, 133, 54, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 75, 196, 56, 100, 217, 53, 5, 58, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 109, 46, 223, 115, 3, 57, 188, 55, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 173, 213, 213, 105, 70, 53, 36, 55, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 71, 201, 61, 101, 167, 53, 220, 57, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 71, 201, 60, 101, 223, 53, 217, 57, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 104, 22, 234, 115, 1, 57, 81, 55, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 162, 197, 216, 101, 77, 53, 204, 54, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 75, 196, 57, 100, 181, 53, 247, 57, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 166, 201, 215, 101, 76, 53, 211, 54, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 75, 196, 58, 101, 179, 53, 245, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 66, 205, 63, 101, 214, 53, 190, 57, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 88, 19, 234, 111, 4, 57, 16, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 176, 239, 206, 114, 82, 53, 169, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 0, 0, 210, 103, 82, 53, 169, 55, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 66, 205, 65, 102, 178, 53, 176, 57, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 0, 0, 207, 102, 90, 53, 195, 55, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 66, 205, 64, 102, 196, 53, 174, 57, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 80, 17, 233, 110, 3, 57, 230, 54, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 189, 224, 205, 106, 77, 53, 123, 55, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 66, 205, 65, 102, 168, 53, 191, 57, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 185, 220, 205, 106, 76, 53, 116, 55, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 66, 205, 64, 102, 167, 53, 194, 57, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 0, 0, 100, 76, 62, 8, 197, 55, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 42, 198, 78, 91, 93, 53, 230, 54, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 100, 243, 9, 110, 23, 55, 134, 57, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 46, 193, 77, 91, 91, 53, 16, 55, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 100, 243, 24, 119, 18, 55, 159, 57, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 227, 70, 83, 78, 76, 28, 130, 55, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 100, 243, 38, 119, 80, 55, 146, 57, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 214, 58, 65, 82, 151, 25, 170, 55, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 0, 0, 99, 77, 151, 25, 170, 55, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 100, 243, 36, 119, 52, 55, 131, 57, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 221, 91, 89, 80, 25, 31, 36, 55, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 112, 242, 25, 120, 120, 55, 191, 57, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 227, 77, 85, 78, 249, 28, 116, 55, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 100, 243, 31, 119, 90, 55, 152, 57, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 129, 46, 65, 12, 137, 42, 51, 59, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 0, 126, 126, 106, 56, 58, 12, 56, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 129, 63, 82, 20, 85, 46, 150, 59, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 0, 126, 126, 107, 186, 58, 41, 56, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 129, 80, 97, 30, 12, 49, 219, 59, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 0, 126, 126, 106, 50, 59, 105, 56, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 0, 126, 126, 108, 191, 58, 222, 59, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 127, 0, 16, 127, 20, 56, 182, 57, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 0, 126, 126, 109, 60, 58, 255, 59, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 100, 0, 42, 122, 240, 55, 53, 57, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 0, 126, 126, 108, 51, 59, 157, 59, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 127, 26, 2, 120, 20, 56, 56, 58, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 210, 0, 245, 123, 212, 59, 67, 58, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 0, 126, 126, 108, 212, 59, 67, 58, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 193, 0, 214, 116, 179, 59, 188, 58, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 0, 126, 126, 109, 179, 59, 188, 58, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 0, 126, 126, 106, 72, 57, 93, 56, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 127, 0, 85, 1, 72, 57, 93, 56, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 0, 126, 126, 106, 187, 57, 58, 56, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 100, 0, 111, 11, 187, 57, 58, 56, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 230, 0, 75, 47, 44, 49, 4, 56, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 0, 126, 126, 109, 20, 56, 66, 58, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 210, 0, 50, 40, 139, 46, 72, 56, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 0, 126, 126, 107, 20, 56, 196, 57, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 0, 126, 126, 107, 255, 59, 192, 57, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 127, 100, 73, 80, 179, 53, 218, 59, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 0, 126, 126, 107, 218, 59, 60, 57, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 127, 127, 112, 70, 167, 52, 255, 59, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 176, 0, 194, 115, 114, 59, 38, 59, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 0, 126, 126, 98, 114, 59, 38, 59, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 156, 0, 179, 118, 26, 59, 124, 59, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 0, 126, 126, 108, 26, 59, 124, 59, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 0, 126, 126, 107, 172, 58, 81, 56, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 63, 0, 99, 102, 172, 58, 81, 56, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 0, 126, 126, 108, 25, 59, 140, 56, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 46, 0, 82, 100, 25, 59, 140, 56, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 0, 126, 126, 108, 255, 59, 74, 58, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 127, 80, 50, 87, 161, 54, 148, 59, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 129, 100, 114, 44, 36, 51, 255, 59, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 0, 126, 126, 108, 148, 59, 200, 56, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 0, 126, 126, 109, 182, 57, 253, 59, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 80, 0, 63, 115, 113, 55, 187, 56, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 129, 0, 89, 126, 175, 58, 183, 59, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 0, 126, 126, 108, 175, 58, 183, 59, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 129, 26, 116, 114, 56, 58, 213, 59, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 0, 126, 126, 109, 56, 58, 213, 59, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 129, 46, 113, 20, 189, 57, 211, 59, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 0, 126, 126, 109, 189, 57, 211, 59, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 156, 0, 2, 6, 66, 17, 168, 57, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 0, 126, 126, 106, 200, 56, 125, 56, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 129, 0, 18, 1, 61, 8, 51, 58, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 0, 126, 126, 107, 55, 57, 55, 56, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 0, 126, 126, 109, 218, 59, 206, 58, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 127, 63, 31, 95, 97, 55, 50, 59, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 129, 80, 79, 25, 224, 56, 112, 59, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 0, 126, 126, 110, 224, 56, 112, 59, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 129, 100, 60, 23, 142, 56, 23, 59, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 0, 126, 126, 110, 142, 56, 23, 59, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 0, 126, 126, 109, 54, 57, 215, 59, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 63, 0, 80, 106, 180, 54, 86, 56, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 0, 126, 126, 112, 145, 56, 243, 56, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 127, 46, 197, 10, 145, 56, 243, 56, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 0, 126, 126, 107, 226, 56, 156, 56, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 127, 26, 183, 7, 226, 56, 156, 56, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 129, 63, 96, 24, 71, 57, 177, 59, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 126, 126, 109, 71, 57, 177, 59, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 0, 126, 126, 107, 179, 59, 77, 57, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 0, 0, 40, 106, 179, 59, 77, 57, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 230, 0, 18, 115, 212, 59, 198, 57, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 0, 126, 126, 108, 212, 59, 198, 57, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 0, 126, 126, 108, 52, 58, 54, 56, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 80, 0, 117, 105, 52, 58, 54, 56, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 0, 126, 126, 100, 86, 56, 174, 58, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 127, 127, 37, 18, 86, 56, 174, 58, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 0, 126, 126, 109, 197, 56, 144, 59, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 46, 0, 95, 96, 199, 53, 13, 56, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 0, 126, 126, 110, 108, 56, 47, 59, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 26, 0, 112, 82, 187, 52, 203, 55, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 0, 126, 126, 108, 115, 59, 226, 56, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 26, 0, 63, 101, 115, 59, 226, 56, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 0, 126, 126, 114, 49, 56, 188, 58, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 0, 0, 114, 57, 74, 51, 198, 55, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 0, 126, 126, 111, 147, 59, 65, 59, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 127, 46, 14, 106, 231, 55, 187, 58, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 0, 126, 126, 109, 59, 56, 61, 58, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 127, 100, 17, 10, 59, 56, 61, 58, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 0, 126, 126, 107, 89, 56, 89, 57, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 127, 63, 216, 10, 89, 56, 89, 57, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 129, 26, 44, 4, 112, 36, 186, 58, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 0, 126, 126, 106, 180, 57, 18, 56, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 193, 0, 32, 32, 217, 42, 170, 56, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 0, 126, 126, 107, 52, 56, 74, 57, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 0, 126, 126, 108, 60, 56, 202, 57, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 127, 80, 245, 3, 60, 56, 202, 57, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 176, 0, 15, 21, 211, 36, 34, 57, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 0, 126, 126, 105, 112, 56, 219, 56 ),
-"array_index_data": PoolByteArray( 188, 1, 12, 0, 2, 0, 188, 1, 16, 0, 12, 0, 194, 1, 16, 0, 188, 1, 194, 1, 22, 0, 16, 0, 1, 0, 6, 0, 186, 1, 1, 0, 9, 0, 6, 0, 196, 1, 22, 0, 194, 1, 196, 1, 24, 0, 22, 0, 2, 0, 9, 0, 1, 0, 2, 0, 12, 0, 9, 0, 30, 1, 24, 0, 196, 1, 24, 0, 40, 0, 22, 0, 24, 0, 43, 0, 40, 0, 12, 0, 28, 0, 9, 0, 12, 0, 31, 0, 28, 0, 30, 1, 43, 0, 24, 0, 16, 0, 31, 0, 12, 0, 16, 0, 37, 0, 31, 0, 22, 0, 37, 0, 16, 0, 22, 0, 40, 0, 37, 0, 9, 0, 26, 0, 6, 0, 9, 0, 28, 0, 26, 0, 40, 0, 63, 0, 37, 0, 40, 0, 66, 0, 63, 0, 28, 0, 50, 0, 26, 0, 28, 0, 55, 0, 50, 0, 43, 0, 66, 0, 40, 0, 43, 0, 69, 0, 66, 0, 31, 0, 55, 0, 28, 0, 31, 0, 60, 0, 55, 0, 30, 1, 69, 0, 43, 0, 37, 0, 60, 0, 31, 0, 37, 0, 63, 0, 60, 0, 30, 1, 94, 0, 69, 0, 63, 0, 75, 0, 60, 0, 63, 0, 84, 0, 75, 0, 66, 0, 84, 0, 63, 0, 66, 0, 88, 0, 84, 0, 55, 0, 71, 0, 50, 0, 55, 0, 73, 0, 71, 0, 69, 0, 88, 0, 66, 0, 69, 0, 94, 0, 88, 0, 60, 0, 73, 0, 55, 0, 60, 0, 75, 0, 73, 0, 73, 0, 97, 0, 71, 0, 73, 0, 101, 0, 97, 0, 94, 0, 109, 0, 88, 0, 94, 0, 111, 0, 109, 0, 75, 0, 101, 0, 73, 0, 75, 0, 104, 0, 101, 0, 30, 1, 111, 0, 94, 0, 84, 0, 104, 0, 75, 0, 84, 0, 108, 0, 104, 0, 88, 0, 108, 0, 84, 0, 88, 0, 109, 0, 108, 0, 109, 0, 127, 0, 108, 0, 109, 0, 131, 0, 127, 0, 51, 2, 116, 0, 49, 2, 116, 0, 97, 0, 101, 0, 97, 0, 91, 2, 115, 0, 97, 0, 39, 2, 91, 2, 47, 2, 116, 0, 51, 2, 47, 2, 97, 0, 116, 0, 97, 0, 41, 2, 39, 2, 44, 2, 97, 0, 47, 2, 97, 0, 44, 2, 41, 2, 111, 0, 131, 0, 109, 0, 111, 0, 136, 0, 131, 0, 104, 0, 116, 0, 101, 0, 104, 0, 122, 0, 116, 0, 30, 1, 136, 0, 111, 0, 67, 2, 127, 0, 61, 2, 104, 0, 62, 2, 122, 0, 104, 0, 52, 2, 62, 2, 67, 2, 108, 0, 127, 0, 65, 2, 108, 0, 67, 2, 104, 0, 58, 2, 52, 2, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 108, 0, 56, 2, 104, 0, 122, 0, 146, 0, 116, 0, 122, 0, 147, 0, 146, 0, 30, 1, 156, 0, 136, 0, 68, 2, 122, 0, 62, 2, 149, 0, 61, 2, 127, 0, 149, 0, 79, 2, 61, 2, 68, 2, 147, 0, 122, 0, 74, 2, 147, 0, 68, 2, 149, 0, 77, 2, 79, 2, 72, 2, 147, 0, 74, 2, 149, 0, 72, 2, 77, 2, 147, 0, 72, 2, 149, 0, 131, 0, 149, 0, 127, 0, 131, 0, 154, 0, 149, 0, 93, 2, 115, 0, 91, 2, 140, 0, 116, 0, 146, 0, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 93, 2, 140, 0, 115, 0, 86, 2, 140, 0, 93, 2, 140, 0, 82, 2, 116, 0, 89, 2, 140, 0, 86, 2, 140, 0, 89, 2, 82, 2, 136, 0, 154, 0, 131, 0, 136, 0, 156, 0, 154, 0, 146, 0, 160, 0, 140, 0, 146, 0, 166, 0, 160, 0, 156, 0, 180, 0, 154, 0, 156, 0, 184, 0, 180, 0, 147, 0, 166, 0, 146, 0, 147, 0, 168, 0, 166, 0, 30, 1, 184, 0, 156, 0, 149, 0, 168, 0, 147, 0, 149, 0, 175, 0, 168, 0, 154, 0, 175, 0, 149, 0, 154, 0, 180, 0, 175, 0, 175, 0, 192, 0, 168, 0, 175, 0, 194, 0, 192, 0, 180, 0, 194, 0, 175, 0, 180, 0, 196, 0, 194, 0, 166, 0, 185, 0, 160, 0, 166, 0, 188, 0, 185, 0, 184, 0, 196, 0, 180, 0, 184, 0, 199, 0, 196, 0, 168, 0, 188, 0, 166, 0, 168, 0, 192, 0, 188, 0, 30, 1, 199, 0, 184, 0, 192, 0, 208, 0, 188, 0, 192, 0, 216, 0, 208, 0, 30, 1, 225, 0, 199, 0, 194, 0, 216, 0, 192, 0, 194, 0, 218, 0, 216, 0, 196, 0, 218, 0, 194, 0, 196, 0, 221, 0, 218, 0, 203, 0, 188, 0, 208, 0, 203, 0, 185, 0, 188, 0, 199, 0, 221, 0, 196, 0, 199, 0, 225, 0, 221, 0, 221, 0, 234, 0, 218, 0, 221, 0, 238, 0, 234, 0, 208, 0, 227, 0, 203, 0, 208, 0, 230, 0, 227, 0, 225, 0, 238, 0, 221, 0, 225, 0, 240, 0, 238, 0, 216, 0, 230, 0, 208, 0, 216, 0, 233, 0, 230, 0, 30, 1, 240, 0, 225, 0, 218, 0, 233, 0, 216, 0, 218, 0, 234, 0, 233, 0, 234, 0, 244, 0, 233, 0, 234, 0, 247, 0, 244, 0, 238, 0, 247, 0, 234, 0, 238, 0, 248, 0, 247, 0, 230, 0, 241, 0, 227, 0, 230, 0, 242, 0, 241, 0, 240, 0, 248, 0, 238, 0, 240, 0, 249, 0, 248, 0, 233, 0, 242, 0, 230, 0, 233, 0, 244, 0, 242, 0, 30, 1, 249, 0, 240, 0, 249, 0, 0, 1, 248, 0, 249, 0, 2, 1, 0, 1, 244, 0, 251, 0, 242, 0, 244, 0, 252, 0, 251, 0, 30, 1, 2, 1, 249, 0, 247, 0, 252, 0, 244, 0, 247, 0, 254, 0, 252, 0, 248, 0, 254, 0, 247, 0, 248, 0, 0, 1, 254, 0, 242, 0, 250, 0, 241, 0, 242, 0, 251, 0, 250, 0, 0, 1, 9, 1, 254, 0, 0, 1, 10, 1, 9, 1, 251, 0, 4, 1, 250, 0, 251, 0, 5, 1, 4, 1, 2, 1, 10, 1, 0, 1, 2, 1, 11, 1, 10, 1, 252, 0, 5, 1, 251, 0, 252, 0, 7, 1, 5, 1, 30, 1, 11, 1, 2, 1, 254, 0, 7, 1, 252, 0, 254, 0, 9, 1, 7, 1, 30, 1, 20, 1, 11, 1, 9, 1, 14, 1, 7, 1, 9, 1, 16, 1, 14, 1, 10, 1, 16, 1, 9, 1, 10, 1, 18, 1, 16, 1, 5, 1, 12, 1, 4, 1, 5, 1, 13, 1, 12, 1, 11, 1, 18, 1, 10, 1, 11, 1, 20, 1, 18, 1, 7, 1, 13, 1, 5, 1, 7, 1, 14, 1, 13, 1, 20, 1, 28, 1, 18, 1, 20, 1, 29, 1, 28, 1, 14, 1, 25, 1, 13, 1, 14, 1, 26, 1, 25, 1, 30, 1, 29, 1, 20, 1, 16, 1, 26, 1, 14, 1, 16, 1, 27, 1, 26, 1, 18, 1, 27, 1, 16, 1, 18, 1, 28, 1, 27, 1, 13, 1, 23, 1, 12, 1, 13, 1, 25, 1, 23, 1, 28, 1, 44, 1, 27, 1, 28, 1, 48, 1, 44, 1, 25, 1, 31, 1, 23, 1, 25, 1, 35, 1, 31, 1, 29, 1, 48, 1, 28, 1, 29, 1, 52, 1, 48, 1, 26, 1, 35, 1, 25, 1, 26, 1, 39, 1, 35, 1, 30, 1, 52, 1, 29, 1, 27, 1, 39, 1, 26, 1, 27, 1, 44, 1, 39, 1, 30, 1, 71, 1, 52, 1, 44, 1, 62, 1, 39, 1, 44, 1, 65, 1, 62, 1, 48, 1, 65, 1, 44, 1, 48, 1, 66, 1, 65, 1, 35, 1, 58, 1, 31, 1, 35, 1, 61, 1, 58, 1, 52, 1, 66, 1, 48, 1, 52, 1, 71, 1, 66, 1, 39, 1, 61, 1, 35, 1, 39, 1, 62, 1, 61, 1, 71, 1, 92, 1, 66, 1, 71, 1, 98, 1, 92, 1, 62, 1, 80, 1, 61, 1, 62, 1, 86, 1, 80, 1, 30, 1, 98, 1, 71, 1, 65, 1, 86, 1, 62, 1, 65, 1, 91, 1, 86, 1, 66, 1, 91, 1, 65, 1, 66, 1, 92, 1, 91, 1, 61, 1, 76, 1, 58, 1, 61, 1, 80, 1, 76, 1, 92, 1, 109, 1, 91, 1, 92, 1, 113, 1, 109, 1, 80, 1, 101, 1, 76, 1, 80, 1, 103, 1, 101, 1, 98, 1, 113, 1, 92, 1, 98, 1, 115, 1, 113, 1, 86, 1, 103, 1, 80, 1, 86, 1, 106, 1, 103, 1, 30, 1, 115, 1, 98, 1, 91, 1, 106, 1, 86, 1, 91, 1, 109, 1, 106, 1, 30, 1, 142, 1, 115, 1, 109, 1, 128, 1, 106, 1, 109, 1, 135, 1, 128, 1, 113, 1, 135, 1, 109, 1, 113, 1, 138, 1, 135, 1, 103, 1, 121, 1, 101, 1, 103, 1, 124, 1, 121, 1, 115, 1, 138, 1, 113, 1, 115, 1, 142, 1, 138, 1, 106, 1, 124, 1, 103, 1, 106, 1, 128, 1, 124, 1, 143, 1, 124, 1, 146, 1, 143, 1, 121, 1, 124, 1, 142, 1, 155, 1, 138, 1, 142, 1, 160, 1, 155, 1, 128, 1, 146, 1, 124, 1, 128, 1, 148, 1, 146, 1, 30, 1, 160, 1, 142, 1, 135, 1, 148, 1, 128, 1, 135, 1, 154, 1, 148, 1, 138, 1, 154, 1, 135, 1, 138, 1, 155, 1, 154, 1, 155, 1, 179, 1, 154, 1, 155, 1, 182, 1, 179, 1, 146, 1, 164, 1, 143, 1, 146, 1, 171, 1, 164, 1, 160, 1, 182, 1, 155, 1, 160, 1, 184, 1, 182, 1, 148, 1, 171, 1, 146, 1, 148, 1, 174, 1, 171, 1, 30, 1, 184, 1, 160, 1, 154, 1, 174, 1, 148, 1, 154, 1, 179, 1, 174, 1, 174, 1, 1, 0, 171, 1, 174, 1, 2, 0, 1, 0, 30, 1, 196, 1, 184, 1, 179, 1, 2, 0, 174, 1, 179, 1, 188, 1, 2, 0, 182, 1, 188, 1, 179, 1, 182, 1, 194, 1, 188, 1, 171, 1, 186, 1, 164, 1, 171, 1, 1, 0, 186, 1, 184, 1, 194, 1, 182, 1, 184, 1, 196, 1, 194, 1, 35, 2, 38, 0, 46, 0, 35, 2, 14, 0, 38, 0, 37, 2, 58, 0, 224, 1, 36, 2, 49, 0, 54, 0, 36, 2, 19, 0, 49, 0, 10, 0, 38, 0, 14, 0, 10, 0, 35, 0, 38, 0, 37, 2, 54, 0, 58, 0, 37, 2, 36, 2, 54, 0, 49, 0, 96, 0, 54, 0, 49, 0, 91, 0, 96, 0, 35, 0, 79, 0, 38, 0, 35, 0, 78, 0, 79, 0, 58, 0, 99, 0, 224, 1, 99, 0, 143, 0, 224, 1, 96, 0, 143, 0, 99, 0, 96, 0, 139, 0, 143, 0, 79, 0, 128, 0, 86, 0, 79, 0, 123, 0, 128, 0, 163, 0, 128, 0, 123, 0, 163, 0, 170, 0, 128, 0, 143, 0, 181, 0, 224, 1, 170, 0, 133, 0, 128, 0, 170, 0, 172, 0, 133, 0, 133, 0, 176, 0, 139, 0, 133, 0, 172, 0, 176, 0, 158, 0, 123, 0, 120, 0, 158, 0, 163, 0, 123, 0, 172, 0, 217, 0, 176, 0, 172, 0, 214, 0, 217, 0, 202, 0, 163, 0, 158, 0, 202, 0, 206, 0, 163, 0, 206, 0, 170, 0, 163, 0, 206, 0, 209, 0, 170, 0, 181, 0, 222, 0, 224, 1, 209, 0, 172, 0, 170, 0, 209, 0, 214, 0, 172, 0, 222, 0, 246, 0, 224, 1, 214, 0, 245, 0, 217, 0, 214, 0, 243, 0, 245, 0, 246, 0, 6, 1, 8, 1, 246, 0, 245, 0, 6, 1, 224, 1, 246, 0, 8, 1, 245, 0, 3, 1, 6, 1, 245, 0, 243, 0, 3, 1, 6, 1, 21, 1, 22, 1, 6, 1, 3, 1, 21, 1, 253, 0, 17, 1, 255, 0, 253, 0, 15, 1, 17, 1, 8, 1, 22, 1, 24, 1, 8, 1, 6, 1, 22, 1, 224, 1, 8, 1, 24, 1, 17, 1, 42, 1, 19, 1, 17, 1, 38, 1, 42, 1, 224, 1, 24, 1, 54, 1, 22, 1, 47, 1, 51, 1, 22, 1, 21, 1, 47, 1, 24, 1, 51, 1, 54, 1, 24, 1, 22, 1, 51, 1, 38, 1, 70, 1, 75, 1, 38, 1, 32, 1, 70, 1, 54, 1, 88, 1, 97, 1, 54, 1, 51, 1, 88, 1, 75, 1, 42, 1, 38, 1, 75, 1, 78, 1, 42, 1, 224, 1, 54, 1, 97, 1, 78, 1, 47, 1, 42, 1, 78, 1, 85, 1, 47, 1, 51, 1, 85, 1, 88, 1, 51, 1, 47, 1, 85, 1, 122, 1, 85, 1, 78, 1, 122, 1, 126, 1, 85, 1, 88, 1, 126, 1, 131, 1, 88, 1, 85, 1, 126, 1, 75, 1, 110, 1, 116, 1, 75, 1, 70, 1, 110, 1, 97, 1, 131, 1, 136, 1, 97, 1, 88, 1, 131, 1, 116, 1, 78, 1, 75, 1, 116, 1, 122, 1, 78, 1, 224, 1, 97, 1, 136, 1, 159, 1, 122, 1, 116, 1, 159, 1, 163, 1, 122, 1, 224, 1, 136, 1, 176, 1, 163, 1, 126, 1, 122, 1, 163, 1, 167, 1, 126, 1, 131, 1, 167, 1, 173, 1, 131, 1, 126, 1, 167, 1, 150, 1, 116, 1, 110, 1, 150, 1, 159, 1, 116, 1, 136, 1, 173, 1, 176, 1, 136, 1, 131, 1, 173, 1, 203, 1, 173, 1, 167, 1, 203, 1, 206, 1, 173, 1, 191, 1, 159, 1, 150, 1, 191, 1, 198, 1, 159, 1, 206, 1, 176, 1, 173, 1, 206, 1, 208, 1, 176, 1, 159, 1, 200, 1, 163, 1, 159, 1, 198, 1, 200, 1, 208, 1, 224, 1, 176, 1, 200, 1, 167, 1, 163, 1, 200, 1, 203, 1, 167, 1, 218, 1, 206, 1, 203, 1, 218, 1, 220, 1, 206, 1, 191, 1, 212, 1, 198, 1, 191, 1, 210, 1, 212, 1, 220, 1, 208, 1, 206, 1, 220, 1, 222, 1, 208, 1, 222, 1, 224, 1, 208, 1, 236, 1, 222, 1, 220, 1, 236, 1, 239, 1, 222, 1, 239, 1, 224, 1, 222, 1, 234, 1, 220, 1, 218, 1, 234, 1, 236, 1, 220, 1, 210, 1, 230, 1, 212, 1, 210, 1, 227, 1, 230, 1, 246, 1, 236, 1, 234, 1, 246, 1, 247, 1, 236, 1, 247, 1, 239, 1, 236, 1, 247, 1, 248, 1, 239, 1, 230, 1, 245, 1, 232, 1, 230, 1, 244, 1, 245, 1, 248, 1, 224, 1, 239, 1, 254, 1, 224, 1, 248, 1, 252, 1, 247, 1, 246, 1, 252, 1, 253, 1, 247, 1, 253, 1, 248, 1, 247, 1, 253, 1, 254, 1, 248, 1, 244, 1, 251, 1, 245, 1, 244, 1, 250, 1, 251, 1, 3, 2, 254, 1, 253, 1, 3, 2, 4, 2, 254, 1, 4, 2, 224, 1, 254, 1, 251, 1, 2, 2, 252, 1, 251, 1, 1, 2, 2, 2, 2, 2, 253, 1, 252, 1, 2, 2, 3, 2, 253, 1, 8, 2, 3, 2, 2, 2, 8, 2, 9, 2, 3, 2, 9, 2, 4, 2, 3, 2, 9, 2, 10, 2, 4, 2, 0, 2, 7, 2, 1, 2, 0, 2, 6, 2, 7, 2, 10, 2, 224, 1, 4, 2, 16, 2, 224, 1, 10, 2, 14, 2, 9, 2, 8, 2, 14, 2, 15, 2, 9, 2, 15, 2, 10, 2, 9, 2, 15, 2, 16, 2, 10, 2, 21, 2, 16, 2, 15, 2, 21, 2, 22, 2, 16, 2, 22, 2, 224, 1, 16, 2, 20, 2, 15, 2, 14, 2, 20, 2, 21, 2, 15, 2, 27, 2, 22, 2, 21, 2, 27, 2, 28, 2, 22, 2, 28, 2, 224, 1, 22, 2, 19, 2, 26, 2, 20, 2, 19, 2, 25, 2, 26, 2, 34, 2, 224, 1, 28, 2, 25, 2, 32, 2, 26, 2, 25, 2, 31, 2, 32, 2, 26, 2, 33, 2, 27, 2, 26, 2, 32, 2, 33, 2, 30, 2, 10, 0, 14, 0, 30, 2, 29, 2, 10, 0, 14, 0, 31, 2, 30, 2, 14, 0, 35, 2, 31, 2, 34, 2, 37, 2, 224, 1, 31, 2, 19, 0, 32, 2, 31, 2, 35, 2, 19, 0, 19, 0, 33, 2, 32, 2, 19, 0, 36, 2, 33, 2, 58, 1, 142, 2, 31, 1, 58, 1, 144, 2, 142, 2, 185, 0, 135, 2, 160, 0, 185, 0, 153, 2, 135, 2, 0, 0, 27, 0, 25, 0, 0, 0, 3, 0, 27, 0, 3, 0, 30, 0, 27, 0, 3, 0, 5, 0, 30, 0, 4, 0, 33, 0, 29, 0, 4, 0, 8, 0, 33, 0, 7, 0, 34, 0, 32, 0, 7, 0, 11, 0, 34, 0, 11, 0, 36, 0, 34, 0, 11, 0, 13, 0, 36, 0, 13, 0, 39, 0, 36, 0, 13, 0, 15, 0, 39, 0, 15, 0, 41, 0, 39, 0, 15, 0, 17, 0, 41, 0, 18, 0, 44, 0, 42, 0, 18, 0, 20, 0, 44, 0, 21, 0, 47, 0, 45, 0, 21, 0, 23, 0, 47, 0, 23, 0, 25, 0, 47, 0, 23, 0, 0, 0, 25, 0, 25, 0, 51, 0, 48, 0, 25, 0, 27, 0, 51, 0, 27, 0, 53, 0, 51, 0, 27, 0, 30, 0, 53, 0, 29, 0, 57, 0, 52, 0, 29, 0, 33, 0, 57, 0, 32, 0, 59, 0, 56, 0, 32, 0, 34, 0, 59, 0, 34, 0, 61, 0, 59, 0, 34, 0, 36, 0, 61, 0, 36, 0, 62, 0, 61, 0, 36, 0, 39, 0, 62, 0, 39, 0, 64, 0, 62, 0, 39, 0, 41, 0, 64, 0, 42, 0, 67, 0, 65, 0, 42, 0, 44, 0, 67, 0, 45, 0, 70, 0, 68, 0, 45, 0, 47, 0, 70, 0, 47, 0, 48, 0, 70, 0, 47, 0, 25, 0, 48, 0, 48, 0, 74, 0, 72, 0, 48, 0, 51, 0, 74, 0, 51, 0, 77, 0, 74, 0, 51, 0, 53, 0, 77, 0, 52, 0, 81, 0, 76, 0, 52, 0, 57, 0, 81, 0, 56, 0, 83, 0, 80, 0, 56, 0, 59, 0, 83, 0, 59, 0, 85, 0, 83, 0, 59, 0, 61, 0, 85, 0, 61, 0, 87, 0, 85, 0, 61, 0, 62, 0, 87, 0, 62, 0, 89, 0, 87, 0, 62, 0, 64, 0, 89, 0, 65, 0, 92, 0, 90, 0, 65, 0, 67, 0, 92, 0, 68, 0, 95, 0, 93, 0, 68, 0, 70, 0, 95, 0, 70, 0, 72, 0, 95, 0, 70, 0, 48, 0, 72, 0, 72, 0, 100, 0, 98, 0, 72, 0, 74, 0, 100, 0, 74, 0, 103, 0, 100, 0, 74, 0, 77, 0, 103, 0, 76, 0, 106, 0, 102, 0, 76, 0, 81, 0, 106, 0, 80, 0, 107, 0, 105, 0, 80, 0, 83, 0, 107, 0, 83, 0, 110, 0, 107, 0, 83, 0, 85, 0, 110, 0, 85, 0, 112, 0, 110, 0, 85, 0, 87, 0, 112, 0, 87, 0, 113, 0, 112, 0, 87, 0, 89, 0, 113, 0, 90, 0, 117, 0, 114, 0, 90, 0, 92, 0, 117, 0, 93, 0, 119, 0, 118, 0, 93, 0, 95, 0, 119, 0, 95, 0, 98, 0, 119, 0, 95, 0, 72, 0, 98, 0, 98, 0, 124, 0, 121, 0, 98, 0, 100, 0, 124, 0, 100, 0, 126, 0, 124, 0, 100, 0, 103, 0, 126, 0, 102, 0, 130, 0, 125, 0, 102, 0, 106, 0, 130, 0, 105, 0, 132, 0, 129, 0, 105, 0, 107, 0, 132, 0, 107, 0, 134, 0, 132, 0, 107, 0, 110, 0, 134, 0, 110, 0, 135, 0, 134, 0, 110, 0, 112, 0, 135, 0, 112, 0, 137, 0, 135, 0, 112, 0, 113, 0, 137, 0, 114, 0, 141, 0, 138, 0, 114, 0, 117, 0, 141, 0, 118, 0, 144, 0, 142, 0, 118, 0, 119, 0, 144, 0, 119, 0, 121, 0, 144, 0, 119, 0, 98, 0, 121, 0, 121, 0, 148, 0, 145, 0, 121, 0, 124, 0, 148, 0, 124, 0, 151, 0, 148, 0, 124, 0, 126, 0, 151, 0, 125, 0, 153, 0, 150, 0, 125, 0, 130, 0, 153, 0, 129, 0, 155, 0, 152, 0, 129, 0, 132, 0, 155, 0, 132, 0, 157, 0, 155, 0, 132, 0, 134, 0, 157, 0, 134, 0, 159, 0, 157, 0, 134, 0, 135, 0, 159, 0, 135, 0, 161, 0, 159, 0, 135, 0, 137, 0, 161, 0, 138, 0, 164, 0, 162, 0, 138, 0, 141, 0, 164, 0, 142, 0, 167, 0, 165, 0, 142, 0, 144, 0, 167, 0, 144, 0, 145, 0, 167, 0, 144, 0, 121, 0, 145, 0, 145, 0, 171, 0, 169, 0, 145, 0, 148, 0, 171, 0, 148, 0, 174, 0, 171, 0, 148, 0, 151, 0, 174, 0, 150, 0, 178, 0, 173, 0, 150, 0, 153, 0, 178, 0, 152, 0, 179, 0, 177, 0, 152, 0, 155, 0, 179, 0, 155, 0, 182, 0, 179, 0, 155, 0, 157, 0, 182, 0, 157, 0, 183, 0, 182, 0, 157, 0, 159, 0, 183, 0, 159, 0, 186, 0, 183, 0, 159, 0, 161, 0, 186, 0, 162, 0, 189, 0, 187, 0, 162, 0, 164, 0, 189, 0, 165, 0, 191, 0, 190, 0, 165, 0, 167, 0, 191, 0, 167, 0, 169, 0, 191, 0, 167, 0, 145, 0, 169, 0, 169, 0, 195, 0, 193, 0, 169, 0, 171, 0, 195, 0, 171, 0, 197, 0, 195, 0, 171, 0, 174, 0, 197, 0, 173, 0, 200, 0, 198, 0, 173, 0, 178, 0, 200, 0, 177, 0, 204, 0, 201, 0, 177, 0, 179, 0, 204, 0, 179, 0, 205, 0, 204, 0, 179, 0, 182, 0, 205, 0, 182, 0, 207, 0, 205, 0, 182, 0, 183, 0, 207, 0, 183, 0, 211, 0, 207, 0, 183, 0, 186, 0, 211, 0, 187, 0, 213, 0, 210, 0, 187, 0, 189, 0, 213, 0, 190, 0, 215, 0, 212, 0, 190, 0, 191, 0, 215, 0, 191, 0, 193, 0, 215, 0, 191, 0, 169, 0, 193, 0, 195, 0, 90, 2, 193, 0, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 85, 2, 197, 0, 219, 0, 85, 2, 195, 0, 197, 0, 198, 0, 223, 0, 220, 0, 198, 0, 200, 0, 223, 0, 201, 0, 226, 0, 224, 0, 201, 0, 204, 0, 226, 0, 204, 0, 228, 0, 226, 0, 204, 0, 205, 0, 228, 0, 205, 0, 229, 0, 228, 0, 205, 0, 207, 0, 229, 0, 207, 0, 232, 0, 229, 0, 207, 0, 211, 0, 232, 0, 210, 0, 236, 0, 231, 0, 210, 0, 213, 0, 236, 0, 235, 0, 38, 2, 40, 2, 38, 2, 212, 0, 215, 0, 38, 2, 235, 0, 212, 0, 193, 0, 38, 2, 215, 0, 193, 0, 90, 2, 38, 2, 239, 0, 202, 0, 237, 0, 239, 0, 206, 0, 202, 0, 219, 0, 87, 2, 85, 2, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 226, 0, 81, 2, 224, 0, 226, 0, 83, 2, 81, 2, 214, 0, 82, 0, 243, 0, 214, 0, 209, 0, 82, 0, 48, 2, 226, 0, 228, 0, 48, 2, 83, 2, 226, 0, 50, 2, 228, 0, 229, 0, 50, 2, 48, 2, 228, 0, 46, 2, 229, 0, 232, 0, 46, 2, 50, 2, 229, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 255, 0, 237, 0, 253, 0, 255, 0, 239, 0, 237, 0, 40, 2, 42, 2, 235, 0, 3, 1, 82, 0, 1, 1, 3, 1, 243, 0, 82, 0, 82, 0, 206, 0, 239, 0, 82, 0, 209, 0, 206, 0, 255, 0, 82, 0, 239, 0, 255, 0, 1, 1, 82, 0, 70, 2, 33, 1, 76, 2, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 75, 2, 40, 1, 37, 1, 75, 2, 69, 2, 40, 1, 63, 2, 40, 1, 69, 2, 63, 2, 41, 1, 40, 1, 63, 2, 43, 1, 41, 1, 63, 2, 53, 2, 43, 1, 53, 2, 46, 1, 43, 1, 53, 2, 59, 2, 46, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 64, 2, 49, 1, 54, 2, 60, 2, 55, 1, 53, 1, 60, 2, 78, 2, 55, 1, 55, 1, 33, 1, 56, 1, 33, 1, 78, 2, 76, 2, 33, 1, 55, 1, 78, 2, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 37, 1, 63, 1, 60, 1, 37, 1, 40, 1, 63, 1, 40, 1, 64, 1, 63, 1, 40, 1, 41, 1, 64, 1, 41, 1, 67, 1, 64, 1, 41, 1, 43, 1, 67, 1, 43, 1, 69, 1, 67, 1, 43, 1, 46, 1, 69, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 66, 2, 49, 1, 64, 2, 49, 1, 74, 1, 72, 1, 49, 1, 66, 2, 74, 1, 74, 1, 60, 2, 53, 1, 74, 1, 66, 2, 60, 2, 53, 1, 79, 1, 77, 1, 53, 1, 55, 1, 79, 1, 55, 1, 81, 1, 79, 1, 55, 1, 56, 1, 81, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 60, 1, 87, 1, 84, 1, 60, 1, 63, 1, 87, 1, 63, 1, 89, 1, 87, 1, 63, 1, 64, 1, 89, 1, 64, 1, 90, 1, 89, 1, 64, 1, 67, 1, 90, 1, 67, 1, 94, 1, 90, 1, 67, 1, 69, 1, 94, 1, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 72, 1, 99, 1, 95, 1, 72, 1, 74, 1, 99, 1, 74, 1, 77, 1, 99, 1, 74, 1, 53, 1, 77, 1, 77, 1, 102, 1, 100, 1, 77, 1, 79, 1, 102, 1, 79, 1, 104, 1, 102, 1, 79, 1, 81, 1, 104, 1, 82, 1, 107, 1, 105, 1, 82, 1, 83, 1, 107, 1, 84, 1, 111, 1, 108, 1, 84, 1, 87, 1, 111, 1, 87, 1, 112, 1, 111, 1, 87, 1, 89, 1, 112, 1, 89, 1, 114, 1, 112, 1, 89, 1, 90, 1, 114, 1, 90, 1, 118, 1, 114, 1, 90, 1, 94, 1, 118, 1, 93, 1, 120, 1, 117, 1, 93, 1, 96, 1, 120, 1, 95, 1, 123, 1, 119, 1, 95, 1, 99, 1, 123, 1, 99, 1, 100, 1, 123, 1, 99, 1, 77, 1, 100, 1, 100, 1, 127, 1, 125, 1, 100, 1, 102, 1, 127, 1, 102, 1, 129, 1, 127, 1, 102, 1, 104, 1, 129, 1, 105, 1, 132, 1, 130, 1, 105, 1, 107, 1, 132, 1, 108, 1, 134, 1, 133, 1, 108, 1, 111, 1, 134, 1, 111, 1, 137, 1, 134, 1, 111, 1, 112, 1, 137, 1, 112, 1, 139, 1, 137, 1, 112, 1, 114, 1, 139, 1, 114, 1, 141, 1, 139, 1, 114, 1, 118, 1, 141, 1, 117, 1, 145, 1, 140, 1, 117, 1, 120, 1, 145, 1, 119, 1, 147, 1, 144, 1, 119, 1, 123, 1, 147, 1, 123, 1, 125, 1, 147, 1, 123, 1, 100, 1, 125, 1, 125, 1, 151, 1, 149, 1, 125, 1, 127, 1, 151, 1, 127, 1, 153, 1, 151, 1, 127, 1, 129, 1, 153, 1, 130, 1, 157, 1, 152, 1, 130, 1, 132, 1, 157, 1, 133, 1, 158, 1, 156, 1, 133, 1, 134, 1, 158, 1, 134, 1, 161, 1, 158, 1, 134, 1, 137, 1, 161, 1, 137, 1, 162, 1, 161, 1, 137, 1, 139, 1, 162, 1, 139, 1, 165, 1, 162, 1, 139, 1, 141, 1, 165, 1, 140, 1, 168, 1, 166, 1, 140, 1, 145, 1, 168, 1, 144, 1, 170, 1, 169, 1, 144, 1, 147, 1, 170, 1, 147, 1, 149, 1, 170, 1, 147, 1, 125, 1, 149, 1, 149, 1, 175, 1, 172, 1, 149, 1, 151, 1, 175, 1, 151, 1, 178, 1, 175, 1, 151, 1, 153, 1, 178, 1, 152, 1, 181, 1, 177, 1, 152, 1, 157, 1, 181, 1, 156, 1, 183, 1, 180, 1, 156, 1, 158, 1, 183, 1, 158, 1, 185, 1, 183, 1, 158, 1, 161, 1, 185, 1, 161, 1, 187, 1, 185, 1, 161, 1, 162, 1, 187, 1, 162, 1, 189, 1, 187, 1, 162, 1, 165, 1, 189, 1, 166, 1, 192, 1, 190, 1, 166, 1, 168, 1, 192, 1, 169, 1, 195, 1, 193, 1, 169, 1, 170, 1, 195, 1, 170, 1, 172, 1, 195, 1, 170, 1, 149, 1, 172, 1, 172, 1, 199, 1, 197, 1, 172, 1, 175, 1, 199, 1, 175, 1, 202, 1, 199, 1, 175, 1, 178, 1, 202, 1, 177, 1, 205, 1, 201, 1, 177, 1, 181, 1, 205, 1, 180, 1, 207, 1, 204, 1, 180, 1, 183, 1, 207, 1, 183, 1, 209, 1, 207, 1, 183, 1, 185, 1, 209, 1, 185, 1, 211, 1, 209, 1, 185, 1, 187, 1, 211, 1, 187, 1, 213, 1, 211, 1, 187, 1, 189, 1, 213, 1, 190, 1, 216, 1, 214, 1, 190, 1, 192, 1, 216, 1, 193, 1, 219, 1, 217, 1, 193, 1, 195, 1, 219, 1, 195, 1, 197, 1, 219, 1, 195, 1, 172, 1, 197, 1, 197, 1, 223, 1, 221, 1, 197, 1, 199, 1, 223, 1, 199, 1, 226, 1, 223, 1, 199, 1, 202, 1, 226, 1, 201, 1, 229, 1, 225, 1, 201, 1, 205, 1, 229, 1, 204, 1, 231, 1, 228, 1, 204, 1, 207, 1, 231, 1, 207, 1, 233, 1, 231, 1, 207, 1, 209, 1, 233, 1, 209, 1, 235, 1, 233, 1, 209, 1, 211, 1, 235, 1, 211, 1, 237, 1, 235, 1, 211, 1, 213, 1, 237, 1, 214, 1, 240, 1, 238, 1, 214, 1, 216, 1, 240, 1, 217, 1, 243, 1, 241, 1, 217, 1, 219, 1, 243, 1, 219, 1, 221, 1, 243, 1, 219, 1, 197, 1, 221, 1, 221, 1, 3, 0, 0, 0, 221, 1, 223, 1, 3, 0, 223, 1, 5, 0, 3, 0, 223, 1, 226, 1, 5, 0, 225, 1, 8, 0, 4, 0, 225, 1, 229, 1, 8, 0, 228, 1, 11, 0, 7, 0, 228, 1, 231, 1, 11, 0, 231, 1, 13, 0, 11, 0, 231, 1, 233, 1, 13, 0, 233, 1, 15, 0, 13, 0, 233, 1, 235, 1, 15, 0, 235, 1, 17, 0, 15, 0, 235, 1, 237, 1, 17, 0, 238, 1, 20, 0, 18, 0, 238, 1, 240, 1, 20, 0, 241, 1, 23, 0, 21, 0, 241, 1, 243, 1, 23, 0, 243, 1, 0, 0, 23, 0, 243, 1, 221, 1, 0, 0, 35, 2, 49, 0, 19, 0, 35, 2, 46, 0, 49, 0, 38, 0, 86, 0, 46, 0, 38, 0, 79, 0, 86, 0, 46, 0, 91, 0, 49, 0, 46, 0, 86, 0, 91, 0, 54, 0, 99, 0, 58, 0, 54, 0, 96, 0, 99, 0, 78, 0, 123, 0, 79, 0, 78, 0, 120, 0, 123, 0, 86, 0, 133, 0, 91, 0, 86, 0, 128, 0, 133, 0, 91, 0, 139, 0, 96, 0, 91, 0, 133, 0, 139, 0, 139, 0, 181, 0, 143, 0, 139, 0, 176, 0, 181, 0, 176, 0, 222, 0, 181, 0, 176, 0, 217, 0, 222, 0, 217, 0, 246, 0, 222, 0, 217, 0, 245, 0, 246, 0, 255, 0, 19, 1, 1, 1, 255, 0, 17, 1, 19, 1, 1, 1, 21, 1, 3, 1, 1, 1, 19, 1, 21, 1, 15, 1, 38, 1, 17, 1, 15, 1, 32, 1, 38, 1, 19, 1, 47, 1, 21, 1, 19, 1, 42, 1, 47, 1, 198, 1, 215, 1, 200, 1, 198, 1, 212, 1, 215, 1, 200, 1, 218, 1, 203, 1, 200, 1, 215, 1, 218, 1, 212, 1, 232, 1, 215, 1, 212, 1, 230, 1, 232, 1, 215, 1, 234, 1, 218, 1, 215, 1, 232, 1, 234, 1, 232, 1, 246, 1, 234, 1, 232, 1, 245, 1, 246, 1, 227, 1, 244, 1, 230, 1, 227, 1, 242, 1, 244, 1, 242, 1, 250, 1, 244, 1, 242, 1, 249, 1, 250, 1, 245, 1, 252, 1, 246, 1, 245, 1, 251, 1, 252, 1, 249, 1, 0, 2, 250, 1, 249, 1, 255, 1, 0, 2, 250, 1, 1, 2, 251, 1, 250, 1, 0, 2, 1, 2, 1, 2, 8, 2, 2, 2, 1, 2, 7, 2, 8, 2, 255, 1, 6, 2, 0, 2, 255, 1, 5, 2, 6, 2, 5, 2, 12, 2, 6, 2, 5, 2, 11, 2, 12, 2, 6, 2, 13, 2, 7, 2, 6, 2, 12, 2, 13, 2, 7, 2, 14, 2, 8, 2, 7, 2, 13, 2, 14, 2, 13, 2, 20, 2, 14, 2, 13, 2, 19, 2, 20, 2, 11, 2, 18, 2, 12, 2, 11, 2, 17, 2, 18, 2, 12, 2, 19, 2, 13, 2, 12, 2, 18, 2, 19, 2, 18, 2, 25, 2, 19, 2, 18, 2, 24, 2, 25, 2, 20, 2, 27, 2, 21, 2, 20, 2, 26, 2, 27, 2, 17, 2, 24, 2, 18, 2, 17, 2, 23, 2, 24, 2, 23, 2, 30, 2, 24, 2, 23, 2, 29, 2, 30, 2, 27, 2, 34, 2, 28, 2, 27, 2, 33, 2, 34, 2, 24, 2, 31, 2, 25, 2, 24, 2, 30, 2, 31, 2, 33, 2, 37, 2, 34, 2, 33, 2, 36, 2, 37, 2, 160, 2, 133, 2, 120, 2, 133, 2, 97, 2, 99, 2, 97, 2, 183, 2, 95, 2, 183, 2, 143, 2, 145, 2, 143, 2, 185, 2, 189, 2, 185, 2, 115, 2, 117, 2, 115, 2, 170, 2, 174, 2, 170, 2, 152, 2, 168, 2, 152, 2, 102, 2, 134, 2, 102, 2, 104, 2, 100, 2, 104, 2, 146, 2, 176, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 172, 2, 133, 2, 160, 2, 128, 2, 133, 2, 172, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 128, 2, 97, 2, 133, 2, 126, 2, 97, 2, 128, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 164, 2, 183, 2, 126, 2, 102, 2, 137, 2, 104, 2, 102, 2, 139, 2, 137, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 110, 2, 143, 2, 183, 2, 156, 2, 143, 2, 110, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 156, 2, 185, 2, 143, 2, 154, 2, 185, 2, 156, 2, 170, 2, 149, 2, 152, 2, 170, 2, 151, 2, 149, 2, 180, 2, 185, 2, 154, 2, 186, 2, 185, 2, 180, 2, 115, 2, 151, 2, 170, 2, 115, 2, 166, 2, 151, 2, 186, 2, 115, 2, 185, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 163, 2, 130, 2, 107, 2, 130, 2, 120, 2, 118, 2, 120, 2, 163, 2, 160, 2, 163, 2, 120, 2, 130, 2, 186, 1, 132, 2, 164, 1, 186, 1, 121, 2, 132, 2, 23, 2, 173, 2, 29, 2, 23, 2, 129, 2, 173, 2, 202, 0, 136, 2, 237, 0, 202, 0, 124, 2, 136, 2, 4, 1, 114, 2, 250, 0, 4, 1, 116, 2, 114, 2, 140, 0, 101, 2, 115, 0, 140, 0, 103, 2, 101, 2, 17, 2, 129, 2, 23, 2, 17, 2, 127, 2, 129, 2, 101, 1, 182, 2, 76, 1, 101, 1, 94, 2, 182, 2, 210, 1, 181, 2, 227, 1, 210, 1, 187, 2, 181, 2, 15, 1, 158, 2, 32, 1, 15, 1, 140, 2, 158, 2, 143, 1, 96, 2, 121, 1, 143, 1, 98, 2, 96, 2, 32, 1, 148, 2, 70, 1, 32, 1, 158, 2, 148, 2, 255, 1, 113, 2, 5, 2, 255, 1, 111, 2, 113, 2, 31, 1, 188, 2, 23, 1, 31, 1, 142, 2, 188, 2, 23, 1, 184, 2, 12, 1, 23, 1, 188, 2, 184, 2, 29, 2, 161, 2, 10, 0, 29, 2, 173, 2, 161, 2, 227, 1, 155, 2, 242, 1, 227, 1, 181, 2, 155, 2, 253, 0, 140, 2, 15, 1, 253, 0, 138, 2, 140, 2, 241, 0, 171, 2, 227, 0, 241, 0, 175, 2, 171, 2, 250, 0, 175, 2, 241, 0, 250, 0, 114, 2, 175, 2, 35, 0, 106, 2, 78, 0, 35, 0, 162, 2, 106, 2, 203, 0, 153, 2, 185, 0, 203, 0, 169, 2, 153, 2, 160, 0, 103, 2, 140, 0, 160, 0, 135, 2, 103, 2, 150, 1, 179, 2, 191, 1, 150, 1, 167, 2, 179, 2, 11, 2, 127, 2, 17, 2, 11, 2, 165, 2, 127, 2, 71, 0, 147, 2, 50, 0, 71, 0, 177, 2, 147, 2, 115, 0, 105, 2, 97, 0, 115, 0, 101, 2, 105, 2, 164, 1, 98, 2, 143, 1, 164, 1, 132, 2, 98, 2, 50, 0, 131, 2, 26, 0, 50, 0, 147, 2, 131, 2, 158, 0, 124, 2, 202, 0, 158, 0, 122, 2, 124, 2, 26, 0, 119, 2, 6, 0, 26, 0, 131, 2, 119, 2, 6, 0, 121, 2, 186, 1, 6, 0, 119, 2, 121, 2, 78, 0, 108, 2, 120, 0, 78, 0, 106, 2, 108, 2, 227, 0, 169, 2, 203, 0, 227, 0, 171, 2, 169, 2, 10, 0, 162, 2, 35, 0, 10, 0, 161, 2, 162, 2, 121, 1, 94, 2, 101, 1, 121, 1, 96, 2, 94, 2, 120, 0, 122, 2, 158, 0, 120, 0, 108, 2, 122, 2, 110, 1, 167, 2, 150, 1, 110, 1, 150, 2, 167, 2, 76, 1, 144, 2, 58, 1, 76, 1, 182, 2, 144, 2, 191, 1, 187, 2, 210, 1, 191, 1, 179, 2, 187, 2, 12, 1, 116, 2, 4, 1, 12, 1, 184, 2, 116, 2, 97, 0, 177, 2, 71, 0, 97, 0, 105, 2, 177, 2, 70, 1, 150, 2, 110, 1, 70, 1, 148, 2, 150, 2, 249, 1, 111, 2, 255, 1, 249, 1, 157, 2, 111, 2, 5, 2, 165, 2, 11, 2, 5, 2, 113, 2, 165, 2, 242, 1, 157, 2, 249, 1, 242, 1, 155, 2, 157, 2, 237, 0, 138, 2, 253, 0, 237, 0, 136, 2, 138, 2 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.06, -8.3819e-07, -0.06, 0.152087, 0.0689103, 0.12),
+"attribute_data": PackedByteArray(166, 197, 43, 62, 128, 133, 228, 62, 74, 111, 142, 62, 232, 255, 103, 63, 168, 135, 139, 62, 82, 168, 93, 63, 173, 197, 43, 62, 136, 178, 236, 62, 182, 197, 43, 62, 94, 42, 242, 62, 182, 197, 43, 62, 94, 42, 242, 62, 100, 197, 173, 62, 154, 13, 113, 63, 38, 117, 246, 62, 18, 170, 220, 62, 186, 197, 43, 62, 118, 87, 244, 62, 46, 164, 163, 62, 230, 42, 101, 63, 155, 96, 108, 63, 206, 27, 46, 63, 39, 117, 246, 62, 176, 206, 225, 62, 49, 123, 155, 62, 162, 147, 91, 63, 39, 117, 246, 62, 232, 38, 234, 62, 4, 9, 98, 63, 54, 132, 50, 63, 39, 117, 246, 62, 30, 127, 242, 62, 11, 160, 148, 62, 186, 96, 83, 63, 39, 117, 246, 62, 188, 163, 247, 62, 182, 197, 43, 62, 134, 179, 212, 62, 192, 83, 82, 63, 194, 51, 57, 63, 178, 197, 43, 62, 160, 224, 214, 62, 178, 197, 43, 62, 160, 224, 214, 62, 31, 160, 142, 62, 160, 4, 76, 63, 171, 197, 43, 62, 118, 88, 220, 62, 195, 40, 137, 62, 126, 27, 69, 63, 182, 130, 23, 62, 126, 133, 228, 62, 24, 132, 198, 62, 254, 208, 105, 63, 202, 165, 23, 62, 248, 171, 236, 62, 75, 154, 182, 62, 20, 177, 95, 63, 249, 248, 23, 62, 160, 38, 242, 62, 249, 248, 23, 62, 160, 38, 242, 62, 212, 199, 169, 62, 254, 129, 87, 63, 221, 244, 237, 62, 22, 147, 220, 62, 16, 86, 24, 62, 246, 102, 244, 62, 227, 2, 238, 62, 132, 203, 225, 62, 241, 199, 111, 63, 178, 89, 58, 63, 106, 1, 238, 62, 232, 38, 234, 62, 202, 238, 158, 62, 23, 125, 80, 63, 111, 118, 100, 63, 77, 231, 59, 63, 227, 2, 238, 62, 74, 130, 242, 62, 37, 87, 149, 62, 164, 41, 74, 63, 222, 244, 237, 62, 184, 186, 247, 62, 13, 86, 24, 62, 6, 164, 212, 62, 243, 125, 140, 62, 177, 50, 68, 63, 246, 248, 23, 62, 92, 228, 214, 62, 246, 248, 23, 62, 92, 228, 214, 62, 235, 117, 91, 63, 52, 20, 61, 63, 201, 165, 23, 62, 6, 95, 220, 62, 224, 172, 3, 62, 126, 133, 228, 62, 244, 167, 83, 63, 176, 47, 62, 63, 160, 142, 218, 62, 32, 165, 95, 63, 180, 222, 3, 62, 8, 163, 236, 62, 166, 93, 4, 62, 14, 34, 242, 62, 166, 93, 4, 62, 14, 34, 242, 62, 13, 204, 76, 63, 134, 17, 63, 63, 233, 6, 198, 62, 190, 248, 87, 63, 52, 134, 229, 62, 164, 104, 220, 62, 4, 1, 5, 62, 88, 117, 244, 62, 46, 91, 70, 63, 173, 230, 63, 63, 203, 163, 229, 62, 158, 179, 225, 62, 3, 118, 181, 62, 234, 189, 81, 63, 206, 163, 229, 62, 232, 38, 234, 62, 203, 163, 229, 62, 50, 154, 242, 62, 203, 97, 167, 62, 111, 95, 76, 63, 54, 134, 229, 62, 42, 229, 247, 62, 1, 1, 5, 62, 166, 149, 212, 62, 115, 220, 154, 62, 91, 129, 71, 63, 163, 93, 4, 62, 242, 232, 214, 62, 163, 93, 4, 62, 242, 232, 214, 62, 77, 61, 143, 62, 164, 227, 66, 63, 179, 222, 3, 62, 244, 103, 220, 62, 249, 142, 232, 62, 132, 73, 83, 63, 170, 55, 225, 61, 126, 133, 228, 62, 47, 230, 208, 62, 42, 146, 78, 63, 254, 169, 225, 61, 224, 147, 236, 62, 219, 192, 189, 62, 176, 174, 74, 63, 32, 205, 226, 61, 130, 19, 242, 62, 32, 205, 226, 61, 130, 19, 242, 62, 51, 209, 111, 63, 112, 22, 71, 63, 152, 107, 100, 63, 158, 143, 69, 63, 176, 76, 221, 62, 58, 49, 220, 62, 166, 82, 228, 61, 96, 127, 244, 62, 180, 87, 74, 63, 191, 20, 90, 63, 154, 111, 221, 62, 236, 145, 225, 62, 70, 105, 173, 62, 45, 81, 71, 63, 243, 110, 221, 62, 232, 38, 234, 62, 214, 87, 91, 63, 146, 87, 68, 63, 155, 111, 221, 62, 228, 187, 242, 62, 54, 209, 158, 62, 140, 58, 68, 63, 177, 76, 221, 62, 148, 28, 248, 62, 159, 82, 228, 61, 160, 139, 212, 62, 214, 154, 83, 63, 72, 85, 67, 63, 26, 205, 226, 61, 126, 247, 214, 62, 26, 205, 226, 61, 126, 247, 214, 62, 80, 55, 145, 62, 64, 69, 65, 63, 249, 169, 225, 61, 34, 119, 220, 62, 51, 194, 76, 63, 237, 107, 66, 63, 123, 196, 239, 62, 231, 152, 69, 63, 87, 236, 188, 61, 128, 133, 228, 62, 22, 88, 70, 63, 113, 142, 65, 63, 74, 99, 189, 61, 164, 132, 236, 62, 52, 150, 214, 62, 174, 51, 68, 63, 124, 124, 190, 61, 98, 5, 242, 62, 124, 124, 190, 61, 98, 5, 242, 62, 238, 34, 194, 62, 192, 203, 66, 63, 45, 86, 213, 62, 222, 244, 219, 62, 161, 227, 191, 61, 86, 141, 244, 62, 181, 113, 213, 62, 252, 109, 225, 62, 133, 161, 176, 62, 5, 172, 65, 63, 52, 242, 160, 62, 33, 142, 64, 63, 127, 109, 213, 62, 234, 38, 234, 62, 255, 73, 146, 62, 177, 115, 63, 63, 181, 113, 213, 62, 212, 223, 242, 62, 46, 86, 213, 62, 240, 88, 248, 62, 152, 227, 191, 61, 168, 125, 212, 62, 200, 176, 239, 62, 182, 246, 55, 63, 133, 162, 214, 62, 140, 104, 57, 63, 117, 124, 190, 61, 156, 5, 215, 62, 117, 124, 190, 61, 156, 5, 215, 62, 69, 99, 189, 61, 92, 134, 220, 62, 31, 126, 108, 63, 116, 100, 83, 63, 253, 47, 154, 61, 128, 133, 228, 62, 32, 110, 194, 62, 87, 190, 58, 63, 59, 203, 97, 63, 56, 216, 78, 63, 117, 157, 154, 61, 160, 126, 236, 62, 195, 131, 155, 61, 184, 6, 242, 62, 195, 131, 155, 61, 184, 6, 242, 62, 247, 196, 176, 62, 24, 199, 59, 63, 148, 88, 89, 63, 100, 69, 75, 63, 27, 151, 205, 62, 36, 193, 219, 62, 81, 116, 156, 61, 76, 171, 244, 62, 102, 27, 161, 62, 146, 186, 60, 63, 244, 163, 205, 62, 26, 83, 225, 62, 75, 50, 82, 63, 107, 66, 72, 63, 117, 157, 205, 62, 234, 38, 234, 62, 245, 163, 205, 62, 182, 250, 242, 62, 5, 99, 146, 62, 132, 142, 61, 63, 28, 151, 205, 62, 172, 140, 248, 62, 74, 116, 156, 61, 180, 95, 212, 62, 128, 220, 75, 63, 98, 164, 69, 63, 101, 167, 233, 62, 174, 128, 42, 63, 189, 131, 155, 61, 70, 4, 215, 62, 189, 131, 155, 61, 70, 4, 215, 62, 92, 231, 69, 63, 23, 38, 67, 63, 113, 157, 154, 61, 96, 140, 220, 62, 65, 103, 112, 61, 128, 133, 228, 62, 138, 76, 209, 62, 178, 240, 46, 63, 171, 102, 190, 62, 34, 224, 50, 63, 64, 216, 112, 61, 94, 134, 236, 62, 171, 225, 173, 62, 144, 19, 54, 63, 0, 191, 113, 61, 192, 30, 242, 62, 0, 191, 113, 61, 192, 30, 242, 62, 72, 234, 197, 62, 240, 169, 219, 62, 145, 76, 114, 61, 252, 230, 244, 62, 227, 74, 159, 62, 120, 3, 57, 63, 207, 238, 197, 62, 126, 84, 225, 62, 211, 128, 145, 62, 168, 182, 59, 63, 7, 243, 197, 62, 234, 38, 234, 62, 71, 228, 101, 63, 11, 60, 94, 63, 208, 238, 197, 62, 84, 249, 242, 62, 7, 11, 220, 62, 77, 227, 29, 63, 74, 234, 197, 62, 226, 163, 248, 62, 130, 76, 114, 61, 6, 36, 212, 62, 184, 251, 92, 63, 75, 48, 87, 63, 244, 190, 113, 61, 66, 236, 214, 62, 244, 190, 113, 61, 66, 236, 214, 62, 147, 39, 199, 62, 227, 119, 37, 63, 58, 216, 112, 61, 164, 132, 220, 62, 28, 136, 182, 62, 162, 170, 43, 63, 92, 222, 42, 61, 130, 133, 228, 62, 104, 201, 85, 63, 155, 136, 81, 63, 161, 106, 43, 61, 228, 200, 236, 62, 128, 169, 79, 63, 112, 184, 76, 63, 242, 11, 44, 61, 130, 113, 242, 62, 242, 11, 44, 61, 130, 113, 242, 62, 48, 85, 168, 62, 108, 240, 48, 63, 84, 43, 74, 63, 135, 133, 72, 63, 133, 62, 190, 62, 218, 205, 219, 62, 6, 149, 43, 61, 22, 32, 245, 62, 254, 60, 190, 62, 10, 93, 225, 62, 252, 163, 155, 62, 242, 168, 53, 63, 22, 17, 69, 63, 235, 145, 68, 63, 124, 77, 190, 62, 234, 38, 234, 62, 255, 60, 190, 62, 200, 240, 242, 62, 207, 178, 143, 62, 9, 12, 58, 63, 215, 86, 200, 62, 54, 111, 19, 63, 135, 62, 190, 62, 248, 127, 248, 62, 249, 148, 43, 61, 238, 234, 211, 62, 124, 39, 184, 62, 34, 137, 29, 63, 230, 11, 44, 61, 128, 153, 214, 62, 230, 11, 44, 61, 128, 153, 214, 62, 153, 106, 43, 61, 32, 66, 220, 62, 45, 61, 171, 62, 52, 182, 37, 63, 95, 184, 191, 60, 130, 133, 228, 62, 225, 61, 160, 62, 240, 171, 44, 63, 183, 152, 195, 60, 52, 83, 237, 62, 58, 97, 150, 62, 40, 226, 50, 63, 82, 189, 200, 60, 100, 40, 243, 62, 82, 189, 200, 60, 100, 40, 243, 62, 245, 23, 141, 62, 89, 171, 56, 63, 190, 78, 200, 60, 60, 204, 245, 62, 148, 128, 182, 62, 194, 21, 220, 62, 226, 203, 92, 63, 123, 228, 102, 63, 44, 195, 175, 62, 158, 231, 11, 63, 103, 123, 182, 62, 154, 136, 225, 62, 248, 145, 182, 62, 236, 38, 234, 62, 211, 42, 86, 63, 127, 252, 93, 63, 105, 123, 182, 62, 58, 197, 242, 62, 251, 108, 165, 62, 48, 207, 23, 63, 236, 176, 80, 63, 21, 172, 86, 63, 161, 78, 200, 60, 200, 62, 211, 62, 150, 128, 182, 62, 18, 56, 248, 62, 53, 189, 200, 60, 160, 226, 213, 62, 53, 189, 200, 60, 160, 226, 213, 62, 10, 4, 76, 63, 185, 97, 80, 63, 162, 152, 195, 60, 206, 183, 219, 62, 67, 50, 157, 62, 46, 106, 33, 63, 200, 201, 71, 63, 199, 219, 74, 63, 65, 45, 150, 62, 68, 150, 41, 63, 91, 211, 193, 59, 52, 205, 244, 62, 91, 211, 193, 59, 52, 205, 244, 62, 209, 217, 143, 62, 136, 224, 48, 63, 82, 228, 67, 63, 19, 185, 69, 63, 126, 5, 209, 59, 108, 99, 247, 62, 249, 137, 174, 62, 76, 128, 220, 62, 232, 220, 137, 62, 154, 172, 55, 63, 224, 159, 174, 62, 250, 211, 225, 62, 239, 9, 148, 62, 4, 219, 7, 63, 65, 193, 174, 62, 236, 38, 234, 62, 225, 159, 174, 62, 222, 121, 242, 62, 166, 75, 144, 62, 148, 184, 20, 63, 182, 4, 209, 59, 152, 167, 209, 62, 251, 137, 174, 62, 136, 205, 247, 62, 219, 91, 141, 62, 140, 22, 31, 63, 186, 211, 138, 62, 216, 232, 39, 63, 180, 210, 193, 59, 208, 61, 212, 62, 180, 210, 193, 59, 208, 61, 212, 62, 173, 229, 81, 63, 77, 6, 109, 63, 75, 126, 136, 62, 89, 200, 47, 63, 184, 187, 77, 63, 129, 162, 98, 63, 128, 57, 134, 62, 98, 33, 55, 63, 138, 66, 110, 62, 14, 148, 7, 63, 114, 127, 116, 62, 190, 127, 20, 63, 222, 128, 71, 63, 137, 249, 82, 63, 176, 166, 121, 62, 103, 231, 30, 63, 196, 225, 68, 63, 190, 122, 76, 63, 73, 118, 66, 63, 139, 135, 70, 63, 228, 242, 125, 62, 110, 195, 39, 63, 52, 207, 128, 62, 212, 173, 47, 63, 14, 109, 130, 62, 116, 19, 55, 63, 177, 33, 54, 62, 106, 23, 11, 63, 102, 168, 73, 62, 233, 41, 23, 63, 152, 126, 89, 62, 158, 225, 32, 63, 200, 188, 69, 63, 131, 23, 112, 63, 141, 224, 102, 62, 3, 42, 41, 63, 44, 107, 68, 63, 192, 222, 100, 63, 86, 167, 114, 62, 151, 147, 48, 63, 75, 104, 67, 63, 180, 241, 91, 63, 239, 115, 125, 62, 5, 132, 55, 63, 235, 116, 66, 63, 202, 55, 84, 63, 198, 154, 3, 62, 159, 37, 18, 63, 70, 14, 35, 62, 11, 136, 28, 63, 104, 171, 65, 63, 178, 85, 77, 63, 178, 123, 60, 62, 241, 226, 36, 63, 158, 224, 64, 63, 210, 243, 70, 63, 115, 9, 82, 62, 174, 4, 44, 63, 80, 31, 101, 62, 101, 106, 50, 63, 64, 194, 118, 62, 148, 107, 56, 63, 96, 92, 180, 61, 131, 64, 28, 63, 200, 94, 3, 62, 224, 58, 36, 63, 34, 161, 36, 62, 203, 164, 42, 63, 187, 57, 57, 63, 216, 224, 111, 63, 235, 222, 64, 62, 124, 33, 48, 63, 217, 230, 58, 63, 187, 172, 100, 63, 70, 245, 89, 62, 54, 18, 53, 63, 254, 57, 60, 63, 190, 187, 91, 63, 172, 58, 113, 62, 107, 186, 57, 63, 0, 81, 61, 63, 182, 25, 84, 63, 149, 88, 62, 63, 248, 79, 77, 63, 151, 222, 114, 61, 107, 180, 40, 63, 102, 60, 63, 63, 50, 243, 70, 63, 150, 149, 217, 61, 232, 185, 45, 63, 116, 149, 19, 62, 116, 193, 49, 63, 212, 144, 52, 62, 9, 56, 53, 63, 99, 238, 81, 62, 125, 92, 56, 63, 114, 62, 109, 62, 172, 89, 59, 63, 36, 238, 131, 62, 19, 81, 62, 63, 94, 246, 52, 61, 175, 164, 54, 63, 39, 49, 45, 63, 145, 113, 108, 63, 0, 177, 168, 62, 66, 184, 244, 62, 0, 177, 168, 62, 66, 184, 244, 62, 38, 193, 193, 61, 12, 93, 56, 63, 220, 119, 168, 62, 240, 76, 247, 62, 62, 48, 31, 63, 20, 128, 220, 62, 254, 205, 49, 63, 243, 246, 97, 63, 196, 133, 10, 62, 67, 187, 57, 63, 80, 37, 31, 63, 254, 211, 225, 62, 153, 20, 31, 63, 228, 38, 234, 62, 147, 105, 53, 63, 68, 175, 89, 63, 80, 37, 31, 63, 204, 121, 242, 62, 161, 248, 45, 62, 167, 238, 58, 63, 219, 119, 168, 62, 6, 190, 209, 62, 61, 48, 31, 63, 182, 205, 247, 62, 112, 111, 56, 63, 96, 168, 82, 63, 86, 152, 77, 62, 103, 15, 60, 63, 254, 176, 168, 62, 182, 82, 212, 62, 254, 176, 168, 62, 182, 82, 212, 62, 204, 37, 59, 63, 224, 109, 76, 63, 175, 19, 107, 62, 237, 44, 61, 63, 67, 188, 159, 62, 124, 133, 228, 62, 172, 166, 61, 63, 176, 133, 70, 63, 239, 129, 159, 62, 62, 76, 237, 62, 226, 52, 159, 62, 164, 30, 243, 62, 226, 52, 159, 62, 164, 30, 243, 62, 27, 59, 51, 61, 216, 26, 69, 63, 220, 61, 159, 62, 198, 192, 245, 62, 225, 52, 27, 63, 166, 21, 220, 62, 66, 226, 192, 61, 73, 104, 67, 63, 96, 17, 10, 62, 97, 5, 66, 63, 124, 55, 27, 63, 144, 136, 225, 62, 52, 44, 27, 63, 228, 38, 234, 62, 110, 138, 45, 62, 160, 224, 64, 63, 130, 63, 77, 62, 232, 233, 63, 63, 124, 55, 27, 63, 58, 197, 242, 62, 219, 61, 159, 62, 50, 74, 211, 62, 225, 52, 27, 63, 36, 56, 248, 62, 52, 159, 34, 63, 190, 211, 101, 63, 127, 224, 106, 62, 47, 20, 63, 63, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 238, 129, 159, 62, 184, 190, 219, 62, 62, 172, 41, 63, 93, 34, 93, 63, 232, 192, 109, 61, 106, 23, 83, 63, 203, 99, 150, 62, 124, 133, 228, 62, 65, 73, 47, 63, 20, 31, 86, 63, 159, 83, 150, 62, 186, 197, 236, 62, 104, 4, 215, 61, 153, 24, 78, 63, 181, 65, 150, 62, 186, 108, 242, 62, 181, 65, 150, 62, 186, 108, 242, 62, 210, 81, 150, 62, 192, 26, 245, 62, 230, 85, 23, 63, 202, 205, 219, 62, 59, 11, 52, 63, 178, 31, 80, 63, 24, 63, 18, 62, 145, 13, 74, 63, 172, 86, 23, 63, 2, 93, 225, 62, 85, 73, 56, 63, 148, 194, 74, 63, 111, 78, 23, 63, 228, 38, 234, 62, 172, 86, 23, 63, 200, 240, 242, 62, 51, 77, 51, 62, 53, 165, 70, 63, 200, 233, 80, 62, 62, 168, 67, 63, 210, 81, 150, 62, 56, 240, 211, 62, 230, 85, 23, 63, 0, 128, 248, 62, 180, 65, 150, 62, 64, 158, 214, 62, 180, 65, 150, 62, 64, 158, 214, 62, 39, 59, 60, 63, 250, 178, 69, 63, 92, 168, 108, 62, 17, 238, 64, 63, 158, 83, 150, 62, 62, 69, 220, 62, 232, 181, 141, 62, 124, 133, 228, 62, 17, 56, 176, 61, 132, 163, 95, 63, 78, 168, 141, 62, 216, 132, 236, 62, 235, 77, 1, 62, 115, 177, 87, 63, 120, 140, 141, 62, 136, 28, 242, 62, 120, 140, 141, 62, 136, 28, 242, 62, 234, 124, 34, 62, 71, 70, 81, 63, 101, 123, 141, 62, 150, 228, 244, 62, 1, 128, 19, 63, 232, 169, 219, 62, 99, 218, 62, 62, 229, 214, 75, 63, 224, 46, 26, 63, 182, 213, 92, 63, 193, 125, 19, 63, 120, 84, 225, 62, 165, 123, 19, 63, 228, 38, 234, 62, 50, 86, 88, 62, 165, 8, 71, 63, 193, 125, 19, 63, 82, 249, 242, 62, 226, 75, 112, 62, 34, 154, 66, 63, 71, 31, 35, 63, 56, 94, 86, 63, 100, 123, 141, 62, 96, 38, 212, 62, 2, 128, 19, 63, 228, 163, 248, 62, 120, 140, 141, 62, 110, 238, 214, 62, 120, 140, 141, 62, 110, 238, 214, 62, 103, 212, 0, 62, 236, 225, 105, 63, 111, 74, 42, 63, 53, 21, 81, 63, 79, 168, 141, 62, 30, 134, 220, 62, 182, 80, 32, 62, 202, 137, 95, 63, 47, 56, 133, 62, 124, 133, 228, 62, 52, 114, 48, 63, 34, 132, 76, 63, 31, 29, 133, 62, 220, 125, 236, 62, 80, 170, 57, 62, 122, 48, 87, 63, 10, 228, 132, 62, 156, 5, 242, 62, 10, 228, 132, 62, 156, 5, 242, 62, 205, 242, 53, 63, 78, 105, 72, 63, 42, 168, 132, 62, 26, 170, 244, 62, 153, 169, 15, 63, 32, 193, 219, 62, 46, 163, 15, 63, 22, 83, 225, 62, 50, 101, 79, 62, 114, 26, 80, 63, 99, 18, 59, 63, 113, 137, 68, 63, 109, 166, 15, 63, 228, 38, 234, 62, 143, 1, 99, 62, 230, 207, 73, 63, 46, 163, 15, 63, 180, 250, 242, 62, 43, 168, 132, 62, 220, 96, 212, 62, 153, 169, 15, 63, 170, 140, 248, 62, 10, 139, 117, 62, 27, 251, 67, 63, 69, 198, 50, 62, 57, 30, 113, 63, 10, 228, 132, 62, 92, 5, 215, 62, 10, 228, 132, 62, 92, 5, 215, 62, 250, 99, 70, 62, 190, 23, 101, 63, 30, 29, 133, 62, 30, 141, 220, 62, 70, 44, 86, 62, 104, 100, 91, 63, 166, 19, 121, 62, 124, 133, 228, 62, 213, 109, 20, 63, 42, 35, 82, 63, 127, 216, 120, 62, 62, 132, 236, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 225, 200, 99, 62, 49, 37, 83, 63, 157, 47, 112, 62, 106, 205, 75, 63, 16, 202, 11, 63, 220, 244, 219, 62, 15, 153, 119, 62, 182, 140, 244, 62, 77, 188, 11, 63, 248, 109, 225, 62, 66, 148, 30, 63, 117, 52, 78, 63, 156, 9, 124, 62, 233, 248, 68, 63, 104, 190, 11, 63, 228, 38, 234, 62, 77, 188, 11, 63, 210, 223, 242, 62, 207, 187, 38, 63, 225, 237, 74, 63, 96, 122, 106, 62, 98, 217, 116, 63, 16, 202, 11, 63, 238, 88, 248, 62, 14, 153, 119, 62, 66, 126, 212, 62, 244, 228, 45, 63, 112, 22, 72, 63, 96, 76, 120, 62, 42, 6, 215, 62, 96, 76, 120, 62, 42, 6, 215, 62, 127, 216, 120, 62, 186, 134, 220, 62, 246, 227, 112, 62, 59, 250, 103, 63, 201, 238, 102, 62, 124, 133, 228, 62, 107, 75, 52, 63, 78, 137, 69, 63, 207, 9, 118, 62, 221, 152, 93, 63, 201, 181, 102, 62, 168, 147, 236, 62, 123, 64, 58, 63, 54, 29, 67, 63, 117, 36, 102, 62, 46, 19, 242, 62, 117, 36, 102, 62, 46, 19, 242, 62, 54, 157, 122, 62, 62, 194, 84, 63, 207, 206, 7, 63, 56, 49, 220, 62, 209, 97, 101, 62, 8, 127, 244, 62, 55, 248, 126, 62, 155, 222, 76, 63, 90, 189, 7, 63, 234, 145, 225, 62, 206, 170, 129, 62, 76, 130, 69, 63, 174, 189, 7, 63, 228, 38, 234, 62, 243, 8, 146, 62, 217, 210, 116, 63, 90, 189, 7, 63, 226, 187, 242, 62, 221, 39, 137, 62, 36, 214, 84, 63, 207, 206, 7, 63, 146, 28, 248, 62, 208, 97, 101, 62, 240, 139, 212, 62, 228, 155, 17, 63, 240, 118, 70, 63, 114, 36, 102, 62, 202, 247, 214, 62, 114, 36, 102, 62, 202, 247, 214, 62, 197, 43, 135, 62, 59, 241, 76, 63, 197, 181, 102, 62, 78, 119, 220, 62, 153, 119, 133, 62, 8, 142, 69, 63, 39, 222, 83, 62, 126, 133, 228, 62, 163, 42, 28, 63, 96, 53, 69, 63, 105, 172, 83, 62, 236, 162, 236, 62, 216, 6, 37, 63, 250, 13, 68, 63, 153, 45, 83, 62, 228, 33, 242, 62, 153, 45, 83, 62, 228, 33, 242, 62, 121, 145, 44, 63, 56, 34, 67, 63, 12, 178, 3, 63, 162, 104, 220, 62, 76, 138, 82, 62, 42, 117, 244, 62, 249, 112, 51, 63, 19, 84, 66, 63, 66, 163, 3, 63, 156, 179, 225, 62, 196, 211, 57, 63, 239, 134, 65, 63, 64, 163, 3, 63, 228, 38, 234, 62, 241, 164, 17, 63, 163, 130, 58, 63, 66, 163, 3, 63, 48, 154, 242, 62, 142, 81, 28, 63, 60, 231, 59, 63, 12, 178, 3, 63, 40, 229, 247, 62, 72, 138, 82, 62, 208, 149, 212, 62, 12, 28, 37, 63, 11, 4, 61, 63, 151, 45, 83, 62, 26, 233, 214, 62, 151, 45, 83, 62, 26, 233, 214, 62, 245, 166, 44, 63, 2, 2, 62, 63, 103, 172, 83, 62, 12, 104, 220, 62, 210, 115, 51, 63, 203, 1, 63, 63, 132, 8, 64, 62, 124, 133, 228, 62, 190, 211, 57, 63, 43, 226, 63, 63, 126, 229, 63, 62, 234, 171, 236, 62, 138, 19, 64, 63, 31, 181, 64, 63, 101, 146, 63, 62, 142, 38, 242, 62, 101, 146, 63, 62, 142, 38, 242, 62, 199, 170, 20, 63, 82, 230, 46, 63, 111, 245, 254, 62, 20, 147, 220, 62, 89, 53, 63, 62, 228, 102, 244, 62, 128, 190, 30, 63, 206, 239, 50, 63, 108, 231, 254, 62, 132, 203, 225, 62, 107, 248, 38, 63, 81, 58, 54, 63, 227, 232, 254, 62, 228, 38, 234, 62, 168, 5, 46, 63, 44, 24, 57, 63, 108, 231, 254, 62, 72, 130, 242, 62, 102, 82, 52, 63, 187, 205, 59, 63, 112, 245, 254, 62, 182, 186, 247, 62, 84, 53, 63, 62, 24, 164, 212, 62, 122, 64, 58, 63, 148, 75, 62, 63, 98, 146, 63, 62, 106, 228, 214, 62, 98, 146, 63, 62, 106, 228, 214, 62, 29, 139, 26, 63, 190, 98, 36, 63, 125, 229, 63, 62, 16, 95, 220, 62, 255, 87, 35, 63, 124, 217, 42, 63, 233, 125, 42, 63, 81, 32, 48, 63, 229, 151, 48, 63, 130, 178, 52, 63, 99, 252, 53, 63, 183, 238, 56, 63, 157, 18, 59, 63, 186, 222, 60, 63, 18, 243, 34, 63, 114, 156, 27, 63, 79, 222, 41, 63, 45, 40, 36, 63, 28, 118, 47, 63, 199, 27, 43, 63, 112, 52, 52, 63, 211, 25, 49, 63, 73, 85, 56, 63, 152, 149, 54, 63, 1, 60, 60, 63, 76, 180, 59, 63, 255, 103, 45, 63, 50, 57, 21, 63, 192, 237, 49, 63, 70, 83, 31, 63, 164, 145, 53, 63, 112, 132, 39, 63, 247, 159, 56, 63, 2, 140, 46, 63, 116, 53, 59, 63, 194, 234, 52, 63, 179, 168, 61, 63, 146, 224, 58, 63, 39, 57, 57, 63, 74, 178, 17, 63, 174, 0, 59, 63, 81, 182, 28, 63, 166, 106, 60, 63, 113, 156, 37, 63, 235, 143, 61, 63, 206, 54, 45, 63, 38, 108, 62, 63, 112, 11, 52, 63, 50, 64, 63, 63, 26, 114, 58, 63, 53, 158, 69, 63, 254, 91, 17, 63, 49, 125, 68, 63, 112, 136, 28, 63, 225, 139, 67, 63, 48, 138, 37, 63, 248, 174, 66, 63, 189, 51, 45, 63, 153, 194, 65, 63, 124, 7, 52, 63, 0, 231, 64, 63, 186, 112, 58, 63, 173, 202, 81, 63, 190, 68, 20, 63, 162, 191, 77, 63, 45, 215, 30, 63, 14, 120, 74, 63, 244, 84, 39, 63, 243, 161, 71, 63, 112, 133, 46, 63, 231, 255, 68, 63, 230, 223, 52, 63, 108, 128, 66, 63, 9, 221, 58, 63, 9, 223, 92, 63, 234, 80, 26, 63, 55, 31, 86, 63, 159, 133, 35, 63, 16, 177, 80, 63, 158, 226, 42, 63, 52, 20, 76, 63, 64, 22, 49, 63, 132, 226, 71, 63, 71, 146, 54, 63, 115, 240, 67, 63, 63, 176, 59, 63, 82, 14, 102, 63, 183, 20, 35, 63, 223, 250, 92, 63, 186, 69, 42, 63, 157, 188, 85, 63, 69, 244, 47, 63, 136, 186, 79, 63, 204, 187, 52, 63, 17, 56, 74, 63, 110, 243, 56, 63, 105, 26, 69, 63, 152, 221, 60, 63, 129, 122, 89, 63, 134, 23, 54, 63, 222, 232, 75, 63, 72, 213, 59, 63, 62, 236, 69, 63, 177, 77, 62, 63, 195, 35, 159, 59, 128, 119, 218, 62, 24, 140, 237, 62, 20, 68, 61, 63, 231, 152, 137, 59, 126, 172, 216, 62, 162, 192, 236, 62, 118, 32, 62, 63, 190, 250, 50, 59, 242, 173, 211, 62, 190, 250, 50, 59, 242, 173, 211, 62, 161, 46, 234, 62, 61, 87, 64, 63, 175, 185, 7, 57, 34, 103, 208, 62, 214, 184, 171, 62, 96, 131, 247, 62, 66, 148, 230, 62, 198, 85, 64, 63, 12, 164, 172, 62, 236, 38, 234, 62, 49, 248, 227, 62, 160, 156, 56, 63, 159, 121, 171, 62, 230, 62, 242, 62, 221, 126, 228, 62, 90, 105, 61, 63, 157, 106, 188, 62, 36, 129, 62, 63, 43, 151, 32, 63, 104, 67, 242, 62, 27, 65, 170, 62, 164, 203, 211, 62, 27, 65, 170, 62, 164, 203, 211, 62, 5, 206, 184, 62, 52, 177, 64, 63, 175, 87, 171, 62, 178, 161, 208, 62, 150, 32, 187, 62, 210, 163, 64, 63, 176, 116, 32, 63, 74, 138, 247, 62, 26, 217, 168, 62, 122, 133, 228, 62, 8, 228, 180, 62, 101, 137, 59, 63, 114, 238, 187, 62, 98, 33, 59, 63, 232, 37, 32, 63, 228, 38, 234, 62, 148, 176, 169, 62, 206, 156, 217, 62, 92, 184, 182, 62, 148, 252, 62, 63, 223, 143, 169, 62, 16, 127, 218, 62, 227, 107, 182, 62, 246, 182, 62, 63, 46, 211, 186, 62, 49, 196, 55, 63, 43, 151, 32, 63, 98, 10, 226, 62, 28, 65, 170, 62, 84, 63, 245, 62, 28, 65, 170, 62, 84, 63, 245, 62, 129, 72, 182, 62, 250, 13, 54, 63, 175, 87, 171, 62, 70, 105, 248, 62, 85, 146, 184, 62, 186, 212, 53, 63, 177, 116, 32, 63, 128, 195, 220, 62, 148, 176, 169, 62, 40, 110, 239, 62, 196, 16, 181, 62, 125, 245, 55, 63, 222, 143, 169, 62, 230, 139, 238, 62, 74, 234, 180, 62, 127, 66, 56, 63, 199, 212, 7, 57, 228, 163, 248, 62, 212, 184, 171, 62, 116, 202, 220, 62, 139, 237, 226, 62, 236, 205, 48, 63, 158, 121, 171, 62, 240, 14, 226, 62, 137, 74, 226, 62, 196, 235, 51, 63, 75, 153, 137, 59, 134, 94, 240, 62, 114, 17, 234, 62, 74, 71, 50, 63, 78, 252, 50, 59, 20, 93, 245, 62, 78, 252, 50, 59, 20, 93, 245, 62, 18, 130, 230, 62, 9, 101, 48, 63, 174, 40, 227, 59, 130, 133, 228, 62, 186, 9, 239, 62, 210, 255, 55, 63, 39, 36, 159, 59, 130, 147, 238, 62, 178, 64, 235, 62, 164, 9, 51, 63, 225, 40, 81, 61, 174, 111, 102, 63, 74, 6, 71, 63, 147, 145, 1, 63, 121, 174, 202, 61, 103, 197, 114, 63, 81, 89, 87, 63, 91, 54, 5, 63, 243, 129, 33, 62, 44, 123, 123, 63, 196, 93, 102, 63, 146, 51, 13, 63, 113, 225, 87, 63, 170, 219, 123, 63, 94, 135, 2, 63, 163, 197, 54, 63, 227, 150, 71, 63, 132, 247, 127, 63, 4, 0, 254, 62, 10, 181, 38, 63, 123, 97, 102, 63, 25, 168, 115, 63, 94, 135, 2, 63, 226, 8, 71, 63, 18, 159, 122, 63, 166, 126, 72, 63, 18, 159, 122, 63, 166, 126, 72, 63, 57, 108, 118, 63, 134, 151, 87, 63, 57, 108, 118, 63, 134, 151, 87, 63, 57, 18, 41, 63, 84, 188, 11, 63, 57, 18, 41, 63, 84, 188, 11, 63, 50, 114, 55, 63, 46, 70, 7, 63, 50, 114, 55, 63, 46, 70, 7, 63, 165, 153, 37, 62, 4, 157, 0, 63, 86, 152, 2, 63, 236, 76, 72, 63, 192, 107, 209, 61, 64, 28, 9, 63, 99, 159, 2, 63, 6, 156, 56, 63, 132, 247, 127, 63, 146, 14, 56, 63, 160, 104, 182, 62, 53, 91, 123, 63, 140, 77, 123, 63, 45, 145, 39, 63, 254, 255, 148, 62, 247, 235, 127, 63, 214, 90, 110, 63, 148, 223, 100, 63, 214, 90, 110, 63, 148, 223, 100, 63, 242, 78, 99, 63, 170, 128, 111, 63, 242, 78, 99, 63, 170, 128, 111, 63, 77, 135, 85, 63, 217, 49, 10, 63, 77, 135, 85, 63, 217, 49, 10, 63, 92, 46, 99, 63, 18, 149, 17, 63, 92, 46, 99, 63, 18, 149, 17, 63, 132, 247, 127, 63, 239, 67, 73, 63, 255, 48, 212, 62, 61, 154, 114, 63, 187, 157, 100, 62, 132, 247, 127, 63, 231, 156, 114, 63, 209, 7, 25, 63, 192, 213, 54, 63, 164, 162, 127, 63, 165, 40, 238, 62, 248, 117, 23, 63, 80, 231, 85, 63, 236, 230, 118, 63, 80, 231, 85, 63, 236, 230, 118, 63, 67, 6, 71, 63, 38, 183, 122, 63, 67, 6, 71, 63, 38, 183, 122, 63, 237, 171, 55, 63, 5, 113, 122, 63, 237, 171, 55, 63, 5, 113, 122, 63, 219, 92, 40, 58, 208, 16, 53, 63, 227, 15, 25, 63, 0, 176, 15, 63, 175, 185, 7, 57, 116, 123, 70, 63, 43, 233, 38, 63, 152, 251, 6, 63, 72, 82, 123, 63, 123, 194, 89, 63, 146, 63, 236, 62, 16, 77, 102, 63, 186, 6, 28, 63, 235, 6, 110, 63, 186, 6, 28, 63, 235, 6, 110, 63, 96, 194, 17, 63, 223, 244, 98, 63, 96, 194, 17, 63, 223, 244, 98, 63, 75, 213, 38, 63, 66, 228, 122, 63, 215, 137, 214, 62, 88, 197, 10, 63, 18, 52, 18, 63, 174, 97, 30, 63, 18, 52, 18, 63, 174, 97, 30, 63, 234, 85, 28, 63, 98, 155, 19, 63, 234, 85, 28, 63, 98, 155, 19, 63, 61, 242, 40, 63, 89, 44, 118, 63, 61, 242, 40, 63, 89, 44, 118, 63, 235, 99, 118, 63, 156, 183, 41, 63, 235, 99, 118, 63, 156, 183, 41, 63, 159, 140, 122, 63, 254, 205, 56, 63, 159, 140, 122, 63, 254, 205, 56, 63, 216, 148, 70, 63, 133, 196, 6, 63, 216, 148, 70, 63, 133, 196, 6, 63, 113, 222, 10, 63, 32, 221, 85, 63, 113, 222, 10, 63, 32, 221, 85, 63, 10, 167, 24, 63, 56, 24, 114, 63, 146, 235, 184, 62, 12, 164, 1, 63, 15, 138, 13, 63, 33, 224, 101, 63, 108, 124, 151, 62, 110, 119, 249, 62, 128, 126, 110, 63, 182, 78, 28, 63, 128, 126, 110, 63, 182, 78, 28, 63, 227, 41, 6, 63, 29, 149, 87, 63, 231, 65, 105, 62, 210, 197, 248, 62, 47, 115, 114, 63, 232, 54, 104, 63, 92, 227, 252, 62, 222, 96, 87, 63, 19, 112, 7, 63, 126, 190, 71, 63, 19, 112, 7, 63, 126, 190, 71, 63, 184, 37, 11, 63, 212, 43, 43, 63, 184, 37, 11, 63, 212, 43, 43, 63, 50, 10, 142, 60, 137, 83, 87, 63, 13, 154, 54, 63, 220, 64, 2, 63, 199, 50, 91, 61, 242, 71, 21, 63, 218, 151, 6, 63, 162, 95, 41, 63, 39, 155, 7, 63, 98, 65, 57, 63, 39, 155, 7, 63, 98, 65, 57, 63, 66, 110, 154, 60, 102, 71, 36, 63, 46, 28, 14, 63, 152, 120, 27, 63, 189, 131, 155, 61, 70, 4, 215, 62, 0, 177, 168, 62, 66, 184, 244, 62, 0, 177, 168, 62, 66, 184, 244, 62, 225, 52, 27, 63, 36, 56, 248, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 96, 76, 120, 62, 206, 4, 242, 62, 43, 151, 32, 63, 104, 67, 242, 62, 176, 116, 32, 63, 74, 138, 247, 62, 148, 176, 169, 62, 40, 110, 239, 62, 246, 248, 23, 62, 92, 228, 214, 62, 26, 205, 226, 61, 126, 247, 214, 62, 0, 191, 113, 61, 192, 30, 242, 62, 244, 190, 113, 61, 66, 236, 214, 62, 242, 11, 44, 61, 130, 113, 242, 62, 180, 210, 193, 59, 208, 61, 212, 62, 0, 177, 168, 62, 66, 184, 244, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 226, 52, 159, 62, 164, 30, 243, 62, 225, 52, 27, 63, 166, 21, 220, 62, 225, 52, 27, 63, 36, 56, 248, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 42, 6, 215, 62, 96, 76, 120, 62, 42, 6, 215, 62, 101, 146, 63, 62, 142, 38, 242, 62, 231, 152, 137, 59, 126, 172, 216, 62, 43, 151, 32, 63, 104, 67, 242, 62, 5, 206, 184, 62, 52, 177, 64, 63, 176, 116, 32, 63, 74, 138, 247, 62, 227, 107, 182, 62, 246, 182, 62, 63, 177, 116, 32, 63, 128, 195, 220, 62, 148, 176, 169, 62, 40, 110, 239, 62, 57, 108, 118, 63, 134, 151, 87, 63, 50, 114, 55, 63, 46, 70, 7, 63, 50, 114, 55, 63, 46, 70, 7, 63, 242, 78, 99, 63, 170, 128, 111, 63, 242, 78, 99, 63, 170, 128, 111, 63, 92, 46, 99, 63, 18, 149, 17, 63, 67, 6, 71, 63, 38, 183, 122, 63, 146, 63, 236, 62, 16, 77, 102, 63, 96, 194, 17, 63, 223, 244, 98, 63, 19, 112, 7, 63, 126, 190, 71, 63, 19, 112, 7, 63, 126, 190, 71, 63, 13, 154, 54, 63, 220, 64, 2, 63, 170, 55, 225, 61, 126, 133, 228, 62, 170, 55, 225, 61, 126, 133, 228, 62, 32, 205, 226, 61, 130, 19, 242, 62, 26, 205, 226, 61, 126, 247, 214, 62, 124, 124, 190, 61, 98, 5, 242, 62, 117, 124, 190, 61, 156, 5, 215, 62, 189, 131, 155, 61, 70, 4, 215, 62, 0, 191, 113, 61, 192, 30, 242, 62, 244, 190, 113, 61, 66, 236, 214, 62, 82, 189, 200, 60, 100, 40, 243, 62, 53, 189, 200, 60, 160, 226, 213, 62, 91, 211, 193, 59, 52, 205, 244, 62, 180, 210, 193, 59, 208, 61, 212, 62, 239, 115, 125, 62, 5, 132, 55, 63, 0, 177, 168, 62, 66, 184, 244, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 225, 52, 27, 63, 166, 21, 220, 62, 226, 52, 159, 62, 86, 236, 213, 62, 226, 52, 159, 62, 86, 236, 213, 62, 181, 65, 150, 62, 186, 108, 242, 62, 120, 140, 141, 62, 110, 238, 214, 62, 10, 228, 132, 62, 156, 5, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 206, 4, 242, 62, 117, 36, 102, 62, 46, 19, 242, 62, 151, 45, 83, 62, 26, 233, 214, 62, 195, 35, 159, 59, 128, 119, 218, 62, 5, 206, 184, 62, 52, 177, 64, 63, 232, 37, 32, 63, 228, 38, 234, 62, 223, 143, 169, 62, 16, 127, 218, 62, 43, 151, 32, 63, 98, 10, 226, 62, 177, 116, 32, 63, 128, 195, 220, 62, 222, 143, 169, 62, 230, 139, 238, 62, 75, 153, 137, 59, 134, 94, 240, 62, 182, 130, 23, 62, 126, 133, 228, 62, 32, 205, 226, 61, 130, 19, 242, 62, 26, 205, 226, 61, 126, 247, 214, 62, 87, 236, 188, 61, 128, 133, 228, 62, 87, 236, 188, 61, 128, 133, 228, 62, 124, 124, 190, 61, 98, 5, 242, 62, 124, 124, 190, 61, 98, 5, 242, 62, 117, 124, 190, 61, 156, 5, 215, 62, 117, 124, 190, 61, 156, 5, 215, 62, 195, 131, 155, 61, 184, 6, 242, 62, 189, 131, 155, 61, 70, 4, 215, 62, 244, 190, 113, 61, 66, 236, 214, 62, 244, 190, 113, 61, 66, 236, 214, 62, 92, 222, 42, 61, 130, 133, 228, 62, 242, 11, 44, 61, 130, 113, 242, 62, 230, 11, 44, 61, 128, 153, 214, 62, 82, 189, 200, 60, 100, 40, 243, 62, 53, 189, 200, 60, 160, 226, 213, 62, 91, 211, 193, 59, 52, 205, 244, 62, 180, 210, 193, 59, 208, 61, 212, 62, 0, 177, 168, 62, 66, 184, 244, 62, 62, 48, 31, 63, 20, 128, 220, 62, 254, 176, 168, 62, 182, 82, 212, 62, 226, 52, 159, 62, 164, 30, 243, 62, 52, 44, 27, 63, 228, 38, 234, 62, 52, 44, 27, 63, 228, 38, 234, 62, 226, 52, 159, 62, 86, 236, 213, 62, 203, 99, 150, 62, 124, 133, 228, 62, 203, 99, 150, 62, 124, 133, 228, 62, 181, 65, 150, 62, 186, 108, 242, 62, 180, 65, 150, 62, 64, 158, 214, 62, 120, 140, 141, 62, 136, 28, 242, 62, 120, 140, 141, 62, 110, 238, 214, 62, 47, 56, 133, 62, 124, 133, 228, 62, 47, 56, 133, 62, 124, 133, 228, 62, 10, 228, 132, 62, 156, 5, 242, 62, 10, 228, 132, 62, 92, 5, 215, 62, 96, 76, 120, 62, 206, 4, 242, 62, 96, 76, 120, 62, 42, 6, 215, 62, 117, 36, 102, 62, 46, 19, 242, 62, 39, 222, 83, 62, 126, 133, 228, 62, 195, 35, 159, 59, 128, 119, 218, 62, 232, 37, 32, 63, 228, 38, 234, 62, 232, 37, 32, 63, 228, 38, 234, 62, 223, 143, 169, 62, 16, 127, 218, 62, 222, 143, 169, 62, 230, 139, 238, 62, 75, 153, 137, 59, 134, 94, 240, 62),
+"format": 4119,
"index_count": 3276,
-"material": ExtResource( 5 ),
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 702
-}
+"index_data": PackedByteArray(188, 1, 12, 0, 2, 0, 188, 1, 16, 0, 12, 0, 194, 1, 16, 0, 188, 1, 194, 1, 22, 0, 16, 0, 1, 0, 6, 0, 186, 1, 1, 0, 9, 0, 6, 0, 196, 1, 22, 0, 194, 1, 196, 1, 24, 0, 22, 0, 2, 0, 9, 0, 1, 0, 2, 0, 12, 0, 9, 0, 30, 1, 24, 0, 196, 1, 24, 0, 40, 0, 22, 0, 24, 0, 43, 0, 40, 0, 12, 0, 28, 0, 9, 0, 12, 0, 31, 0, 28, 0, 30, 1, 43, 0, 24, 0, 16, 0, 31, 0, 12, 0, 16, 0, 37, 0, 31, 0, 22, 0, 37, 0, 16, 0, 22, 0, 40, 0, 37, 0, 9, 0, 26, 0, 6, 0, 9, 0, 28, 0, 26, 0, 40, 0, 63, 0, 37, 0, 40, 0, 66, 0, 63, 0, 28, 0, 50, 0, 26, 0, 28, 0, 55, 0, 50, 0, 43, 0, 66, 0, 40, 0, 43, 0, 69, 0, 66, 0, 31, 0, 55, 0, 28, 0, 31, 0, 60, 0, 55, 0, 30, 1, 69, 0, 43, 0, 37, 0, 60, 0, 31, 0, 37, 0, 63, 0, 60, 0, 30, 1, 94, 0, 69, 0, 63, 0, 75, 0, 60, 0, 63, 0, 84, 0, 75, 0, 66, 0, 84, 0, 63, 0, 66, 0, 88, 0, 84, 0, 55, 0, 71, 0, 50, 0, 55, 0, 73, 0, 71, 0, 69, 0, 88, 0, 66, 0, 69, 0, 94, 0, 88, 0, 60, 0, 73, 0, 55, 0, 60, 0, 75, 0, 73, 0, 73, 0, 97, 0, 71, 0, 73, 0, 101, 0, 97, 0, 94, 0, 109, 0, 88, 0, 94, 0, 111, 0, 109, 0, 75, 0, 101, 0, 73, 0, 75, 0, 104, 0, 101, 0, 30, 1, 111, 0, 94, 0, 84, 0, 104, 0, 75, 0, 84, 0, 108, 0, 104, 0, 88, 0, 108, 0, 84, 0, 88, 0, 109, 0, 108, 0, 109, 0, 127, 0, 108, 0, 109, 0, 131, 0, 127, 0, 51, 2, 116, 0, 49, 2, 116, 0, 97, 0, 101, 0, 97, 0, 91, 2, 115, 0, 97, 0, 39, 2, 91, 2, 47, 2, 116, 0, 51, 2, 47, 2, 97, 0, 116, 0, 97, 0, 41, 2, 39, 2, 44, 2, 97, 0, 47, 2, 97, 0, 44, 2, 41, 2, 111, 0, 131, 0, 109, 0, 111, 0, 136, 0, 131, 0, 104, 0, 116, 0, 101, 0, 104, 0, 122, 0, 116, 0, 30, 1, 136, 0, 111, 0, 67, 2, 127, 0, 61, 2, 104, 0, 62, 2, 122, 0, 104, 0, 52, 2, 62, 2, 67, 2, 108, 0, 127, 0, 65, 2, 108, 0, 67, 2, 104, 0, 58, 2, 52, 2, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 108, 0, 56, 2, 104, 0, 122, 0, 146, 0, 116, 0, 122, 0, 147, 0, 146, 0, 30, 1, 156, 0, 136, 0, 68, 2, 122, 0, 62, 2, 149, 0, 61, 2, 127, 0, 149, 0, 79, 2, 61, 2, 68, 2, 147, 0, 122, 0, 74, 2, 147, 0, 68, 2, 149, 0, 77, 2, 79, 2, 72, 2, 147, 0, 74, 2, 149, 0, 72, 2, 77, 2, 147, 0, 72, 2, 149, 0, 131, 0, 149, 0, 127, 0, 131, 0, 154, 0, 149, 0, 93, 2, 115, 0, 91, 2, 140, 0, 116, 0, 146, 0, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 93, 2, 140, 0, 115, 0, 86, 2, 140, 0, 93, 2, 140, 0, 82, 2, 116, 0, 89, 2, 140, 0, 86, 2, 140, 0, 89, 2, 82, 2, 136, 0, 154, 0, 131, 0, 136, 0, 156, 0, 154, 0, 146, 0, 160, 0, 140, 0, 146, 0, 166, 0, 160, 0, 156, 0, 180, 0, 154, 0, 156, 0, 184, 0, 180, 0, 147, 0, 166, 0, 146, 0, 147, 0, 168, 0, 166, 0, 30, 1, 184, 0, 156, 0, 149, 0, 168, 0, 147, 0, 149, 0, 175, 0, 168, 0, 154, 0, 175, 0, 149, 0, 154, 0, 180, 0, 175, 0, 175, 0, 192, 0, 168, 0, 175, 0, 194, 0, 192, 0, 180, 0, 194, 0, 175, 0, 180, 0, 196, 0, 194, 0, 166, 0, 185, 0, 160, 0, 166, 0, 188, 0, 185, 0, 184, 0, 196, 0, 180, 0, 184, 0, 199, 0, 196, 0, 168, 0, 188, 0, 166, 0, 168, 0, 192, 0, 188, 0, 30, 1, 199, 0, 184, 0, 192, 0, 208, 0, 188, 0, 192, 0, 216, 0, 208, 0, 30, 1, 225, 0, 199, 0, 194, 0, 216, 0, 192, 0, 194, 0, 218, 0, 216, 0, 196, 0, 218, 0, 194, 0, 196, 0, 221, 0, 218, 0, 203, 0, 188, 0, 208, 0, 203, 0, 185, 0, 188, 0, 199, 0, 221, 0, 196, 0, 199, 0, 225, 0, 221, 0, 221, 0, 234, 0, 218, 0, 221, 0, 238, 0, 234, 0, 208, 0, 227, 0, 203, 0, 208, 0, 230, 0, 227, 0, 225, 0, 238, 0, 221, 0, 225, 0, 240, 0, 238, 0, 216, 0, 230, 0, 208, 0, 216, 0, 233, 0, 230, 0, 30, 1, 240, 0, 225, 0, 218, 0, 233, 0, 216, 0, 218, 0, 234, 0, 233, 0, 234, 0, 244, 0, 233, 0, 234, 0, 247, 0, 244, 0, 238, 0, 247, 0, 234, 0, 238, 0, 248, 0, 247, 0, 230, 0, 241, 0, 227, 0, 230, 0, 242, 0, 241, 0, 240, 0, 248, 0, 238, 0, 240, 0, 249, 0, 248, 0, 233, 0, 242, 0, 230, 0, 233, 0, 244, 0, 242, 0, 30, 1, 249, 0, 240, 0, 249, 0, 0, 1, 248, 0, 249, 0, 2, 1, 0, 1, 244, 0, 251, 0, 242, 0, 244, 0, 252, 0, 251, 0, 30, 1, 2, 1, 249, 0, 247, 0, 252, 0, 244, 0, 247, 0, 254, 0, 252, 0, 248, 0, 254, 0, 247, 0, 248, 0, 0, 1, 254, 0, 242, 0, 250, 0, 241, 0, 242, 0, 251, 0, 250, 0, 0, 1, 9, 1, 254, 0, 0, 1, 10, 1, 9, 1, 251, 0, 4, 1, 250, 0, 251, 0, 5, 1, 4, 1, 2, 1, 10, 1, 0, 1, 2, 1, 11, 1, 10, 1, 252, 0, 5, 1, 251, 0, 252, 0, 7, 1, 5, 1, 30, 1, 11, 1, 2, 1, 254, 0, 7, 1, 252, 0, 254, 0, 9, 1, 7, 1, 30, 1, 20, 1, 11, 1, 9, 1, 14, 1, 7, 1, 9, 1, 16, 1, 14, 1, 10, 1, 16, 1, 9, 1, 10, 1, 18, 1, 16, 1, 5, 1, 12, 1, 4, 1, 5, 1, 13, 1, 12, 1, 11, 1, 18, 1, 10, 1, 11, 1, 20, 1, 18, 1, 7, 1, 13, 1, 5, 1, 7, 1, 14, 1, 13, 1, 20, 1, 28, 1, 18, 1, 20, 1, 29, 1, 28, 1, 14, 1, 25, 1, 13, 1, 14, 1, 26, 1, 25, 1, 30, 1, 29, 1, 20, 1, 16, 1, 26, 1, 14, 1, 16, 1, 27, 1, 26, 1, 18, 1, 27, 1, 16, 1, 18, 1, 28, 1, 27, 1, 13, 1, 23, 1, 12, 1, 13, 1, 25, 1, 23, 1, 28, 1, 44, 1, 27, 1, 28, 1, 48, 1, 44, 1, 25, 1, 31, 1, 23, 1, 25, 1, 35, 1, 31, 1, 29, 1, 48, 1, 28, 1, 29, 1, 52, 1, 48, 1, 26, 1, 35, 1, 25, 1, 26, 1, 39, 1, 35, 1, 30, 1, 52, 1, 29, 1, 27, 1, 39, 1, 26, 1, 27, 1, 44, 1, 39, 1, 30, 1, 71, 1, 52, 1, 44, 1, 62, 1, 39, 1, 44, 1, 65, 1, 62, 1, 48, 1, 65, 1, 44, 1, 48, 1, 66, 1, 65, 1, 35, 1, 58, 1, 31, 1, 35, 1, 61, 1, 58, 1, 52, 1, 66, 1, 48, 1, 52, 1, 71, 1, 66, 1, 39, 1, 61, 1, 35, 1, 39, 1, 62, 1, 61, 1, 71, 1, 92, 1, 66, 1, 71, 1, 98, 1, 92, 1, 62, 1, 80, 1, 61, 1, 62, 1, 86, 1, 80, 1, 30, 1, 98, 1, 71, 1, 65, 1, 86, 1, 62, 1, 65, 1, 91, 1, 86, 1, 66, 1, 91, 1, 65, 1, 66, 1, 92, 1, 91, 1, 61, 1, 76, 1, 58, 1, 61, 1, 80, 1, 76, 1, 92, 1, 109, 1, 91, 1, 92, 1, 113, 1, 109, 1, 80, 1, 101, 1, 76, 1, 80, 1, 103, 1, 101, 1, 98, 1, 113, 1, 92, 1, 98, 1, 115, 1, 113, 1, 86, 1, 103, 1, 80, 1, 86, 1, 106, 1, 103, 1, 30, 1, 115, 1, 98, 1, 91, 1, 106, 1, 86, 1, 91, 1, 109, 1, 106, 1, 30, 1, 142, 1, 115, 1, 109, 1, 128, 1, 106, 1, 109, 1, 135, 1, 128, 1, 113, 1, 135, 1, 109, 1, 113, 1, 138, 1, 135, 1, 103, 1, 121, 1, 101, 1, 103, 1, 124, 1, 121, 1, 115, 1, 138, 1, 113, 1, 115, 1, 142, 1, 138, 1, 106, 1, 124, 1, 103, 1, 106, 1, 128, 1, 124, 1, 143, 1, 124, 1, 146, 1, 143, 1, 121, 1, 124, 1, 142, 1, 155, 1, 138, 1, 142, 1, 160, 1, 155, 1, 128, 1, 146, 1, 124, 1, 128, 1, 148, 1, 146, 1, 30, 1, 160, 1, 142, 1, 135, 1, 148, 1, 128, 1, 135, 1, 154, 1, 148, 1, 138, 1, 154, 1, 135, 1, 138, 1, 155, 1, 154, 1, 155, 1, 179, 1, 154, 1, 155, 1, 182, 1, 179, 1, 146, 1, 164, 1, 143, 1, 146, 1, 171, 1, 164, 1, 160, 1, 182, 1, 155, 1, 160, 1, 184, 1, 182, 1, 148, 1, 171, 1, 146, 1, 148, 1, 174, 1, 171, 1, 30, 1, 184, 1, 160, 1, 154, 1, 174, 1, 148, 1, 154, 1, 179, 1, 174, 1, 174, 1, 1, 0, 171, 1, 174, 1, 2, 0, 1, 0, 30, 1, 196, 1, 184, 1, 179, 1, 2, 0, 174, 1, 179, 1, 188, 1, 2, 0, 182, 1, 188, 1, 179, 1, 182, 1, 194, 1, 188, 1, 171, 1, 186, 1, 164, 1, 171, 1, 1, 0, 186, 1, 184, 1, 194, 1, 182, 1, 184, 1, 196, 1, 194, 1, 35, 2, 38, 0, 46, 0, 35, 2, 14, 0, 38, 0, 37, 2, 58, 0, 224, 1, 36, 2, 49, 0, 54, 0, 36, 2, 19, 0, 49, 0, 10, 0, 38, 0, 14, 0, 10, 0, 35, 0, 38, 0, 37, 2, 54, 0, 58, 0, 37, 2, 36, 2, 54, 0, 49, 0, 96, 0, 54, 0, 49, 0, 91, 0, 96, 0, 35, 0, 79, 0, 38, 0, 35, 0, 78, 0, 79, 0, 58, 0, 99, 0, 224, 1, 99, 0, 143, 0, 224, 1, 96, 0, 143, 0, 99, 0, 96, 0, 139, 0, 143, 0, 79, 0, 128, 0, 86, 0, 79, 0, 123, 0, 128, 0, 163, 0, 128, 0, 123, 0, 163, 0, 170, 0, 128, 0, 143, 0, 181, 0, 224, 1, 170, 0, 133, 0, 128, 0, 170, 0, 172, 0, 133, 0, 133, 0, 176, 0, 139, 0, 133, 0, 172, 0, 176, 0, 158, 0, 123, 0, 120, 0, 158, 0, 163, 0, 123, 0, 172, 0, 217, 0, 176, 0, 172, 0, 214, 0, 217, 0, 202, 0, 163, 0, 158, 0, 202, 0, 206, 0, 163, 0, 206, 0, 170, 0, 163, 0, 206, 0, 209, 0, 170, 0, 181, 0, 222, 0, 224, 1, 209, 0, 172, 0, 170, 0, 209, 0, 214, 0, 172, 0, 222, 0, 246, 0, 224, 1, 214, 0, 245, 0, 217, 0, 214, 0, 243, 0, 245, 0, 246, 0, 6, 1, 8, 1, 246, 0, 245, 0, 6, 1, 224, 1, 246, 0, 8, 1, 245, 0, 3, 1, 6, 1, 245, 0, 243, 0, 3, 1, 6, 1, 21, 1, 22, 1, 6, 1, 3, 1, 21, 1, 253, 0, 17, 1, 255, 0, 253, 0, 15, 1, 17, 1, 8, 1, 22, 1, 24, 1, 8, 1, 6, 1, 22, 1, 224, 1, 8, 1, 24, 1, 17, 1, 42, 1, 19, 1, 17, 1, 38, 1, 42, 1, 224, 1, 24, 1, 54, 1, 22, 1, 47, 1, 51, 1, 22, 1, 21, 1, 47, 1, 24, 1, 51, 1, 54, 1, 24, 1, 22, 1, 51, 1, 38, 1, 70, 1, 75, 1, 38, 1, 32, 1, 70, 1, 54, 1, 88, 1, 97, 1, 54, 1, 51, 1, 88, 1, 75, 1, 42, 1, 38, 1, 75, 1, 78, 1, 42, 1, 224, 1, 54, 1, 97, 1, 78, 1, 47, 1, 42, 1, 78, 1, 85, 1, 47, 1, 51, 1, 85, 1, 88, 1, 51, 1, 47, 1, 85, 1, 122, 1, 85, 1, 78, 1, 122, 1, 126, 1, 85, 1, 88, 1, 126, 1, 131, 1, 88, 1, 85, 1, 126, 1, 75, 1, 110, 1, 116, 1, 75, 1, 70, 1, 110, 1, 97, 1, 131, 1, 136, 1, 97, 1, 88, 1, 131, 1, 116, 1, 78, 1, 75, 1, 116, 1, 122, 1, 78, 1, 224, 1, 97, 1, 136, 1, 159, 1, 122, 1, 116, 1, 159, 1, 163, 1, 122, 1, 224, 1, 136, 1, 176, 1, 163, 1, 126, 1, 122, 1, 163, 1, 167, 1, 126, 1, 131, 1, 167, 1, 173, 1, 131, 1, 126, 1, 167, 1, 150, 1, 116, 1, 110, 1, 150, 1, 159, 1, 116, 1, 136, 1, 173, 1, 176, 1, 136, 1, 131, 1, 173, 1, 203, 1, 173, 1, 167, 1, 203, 1, 206, 1, 173, 1, 191, 1, 159, 1, 150, 1, 191, 1, 198, 1, 159, 1, 206, 1, 176, 1, 173, 1, 206, 1, 208, 1, 176, 1, 159, 1, 200, 1, 163, 1, 159, 1, 198, 1, 200, 1, 208, 1, 224, 1, 176, 1, 200, 1, 167, 1, 163, 1, 200, 1, 203, 1, 167, 1, 218, 1, 206, 1, 203, 1, 218, 1, 220, 1, 206, 1, 191, 1, 212, 1, 198, 1, 191, 1, 210, 1, 212, 1, 220, 1, 208, 1, 206, 1, 220, 1, 222, 1, 208, 1, 222, 1, 224, 1, 208, 1, 236, 1, 222, 1, 220, 1, 236, 1, 239, 1, 222, 1, 239, 1, 224, 1, 222, 1, 234, 1, 220, 1, 218, 1, 234, 1, 236, 1, 220, 1, 210, 1, 230, 1, 212, 1, 210, 1, 227, 1, 230, 1, 246, 1, 236, 1, 234, 1, 246, 1, 247, 1, 236, 1, 247, 1, 239, 1, 236, 1, 247, 1, 248, 1, 239, 1, 230, 1, 245, 1, 232, 1, 230, 1, 244, 1, 245, 1, 248, 1, 224, 1, 239, 1, 254, 1, 224, 1, 248, 1, 252, 1, 247, 1, 246, 1, 252, 1, 253, 1, 247, 1, 253, 1, 248, 1, 247, 1, 253, 1, 254, 1, 248, 1, 244, 1, 251, 1, 245, 1, 244, 1, 250, 1, 251, 1, 3, 2, 254, 1, 253, 1, 3, 2, 4, 2, 254, 1, 4, 2, 224, 1, 254, 1, 251, 1, 2, 2, 252, 1, 251, 1, 1, 2, 2, 2, 2, 2, 253, 1, 252, 1, 2, 2, 3, 2, 253, 1, 8, 2, 3, 2, 2, 2, 8, 2, 9, 2, 3, 2, 9, 2, 4, 2, 3, 2, 9, 2, 10, 2, 4, 2, 0, 2, 7, 2, 1, 2, 0, 2, 6, 2, 7, 2, 10, 2, 224, 1, 4, 2, 16, 2, 224, 1, 10, 2, 14, 2, 9, 2, 8, 2, 14, 2, 15, 2, 9, 2, 15, 2, 10, 2, 9, 2, 15, 2, 16, 2, 10, 2, 21, 2, 16, 2, 15, 2, 21, 2, 22, 2, 16, 2, 22, 2, 224, 1, 16, 2, 20, 2, 15, 2, 14, 2, 20, 2, 21, 2, 15, 2, 27, 2, 22, 2, 21, 2, 27, 2, 28, 2, 22, 2, 28, 2, 224, 1, 22, 2, 19, 2, 26, 2, 20, 2, 19, 2, 25, 2, 26, 2, 34, 2, 224, 1, 28, 2, 25, 2, 32, 2, 26, 2, 25, 2, 31, 2, 32, 2, 26, 2, 33, 2, 27, 2, 26, 2, 32, 2, 33, 2, 30, 2, 10, 0, 14, 0, 30, 2, 29, 2, 10, 0, 14, 0, 31, 2, 30, 2, 14, 0, 35, 2, 31, 2, 34, 2, 37, 2, 224, 1, 31, 2, 19, 0, 32, 2, 31, 2, 35, 2, 19, 0, 19, 0, 33, 2, 32, 2, 19, 0, 36, 2, 33, 2, 58, 1, 142, 2, 31, 1, 58, 1, 144, 2, 142, 2, 185, 0, 135, 2, 160, 0, 185, 0, 153, 2, 135, 2, 0, 0, 27, 0, 25, 0, 0, 0, 3, 0, 27, 0, 3, 0, 30, 0, 27, 0, 3, 0, 5, 0, 30, 0, 4, 0, 33, 0, 29, 0, 4, 0, 8, 0, 33, 0, 7, 0, 34, 0, 32, 0, 7, 0, 11, 0, 34, 0, 11, 0, 36, 0, 34, 0, 11, 0, 13, 0, 36, 0, 13, 0, 39, 0, 36, 0, 13, 0, 15, 0, 39, 0, 15, 0, 41, 0, 39, 0, 15, 0, 17, 0, 41, 0, 18, 0, 44, 0, 42, 0, 18, 0, 20, 0, 44, 0, 21, 0, 47, 0, 45, 0, 21, 0, 23, 0, 47, 0, 23, 0, 25, 0, 47, 0, 23, 0, 0, 0, 25, 0, 25, 0, 51, 0, 48, 0, 25, 0, 27, 0, 51, 0, 27, 0, 53, 0, 51, 0, 27, 0, 30, 0, 53, 0, 29, 0, 57, 0, 52, 0, 29, 0, 33, 0, 57, 0, 32, 0, 59, 0, 56, 0, 32, 0, 34, 0, 59, 0, 34, 0, 61, 0, 59, 0, 34, 0, 36, 0, 61, 0, 36, 0, 62, 0, 61, 0, 36, 0, 39, 0, 62, 0, 39, 0, 64, 0, 62, 0, 39, 0, 41, 0, 64, 0, 42, 0, 67, 0, 65, 0, 42, 0, 44, 0, 67, 0, 45, 0, 70, 0, 68, 0, 45, 0, 47, 0, 70, 0, 47, 0, 48, 0, 70, 0, 47, 0, 25, 0, 48, 0, 48, 0, 74, 0, 72, 0, 48, 0, 51, 0, 74, 0, 51, 0, 77, 0, 74, 0, 51, 0, 53, 0, 77, 0, 52, 0, 81, 0, 76, 0, 52, 0, 57, 0, 81, 0, 56, 0, 83, 0, 80, 0, 56, 0, 59, 0, 83, 0, 59, 0, 85, 0, 83, 0, 59, 0, 61, 0, 85, 0, 61, 0, 87, 0, 85, 0, 61, 0, 62, 0, 87, 0, 62, 0, 89, 0, 87, 0, 62, 0, 64, 0, 89, 0, 65, 0, 92, 0, 90, 0, 65, 0, 67, 0, 92, 0, 68, 0, 95, 0, 93, 0, 68, 0, 70, 0, 95, 0, 70, 0, 72, 0, 95, 0, 70, 0, 48, 0, 72, 0, 72, 0, 100, 0, 98, 0, 72, 0, 74, 0, 100, 0, 74, 0, 103, 0, 100, 0, 74, 0, 77, 0, 103, 0, 76, 0, 106, 0, 102, 0, 76, 0, 81, 0, 106, 0, 80, 0, 107, 0, 105, 0, 80, 0, 83, 0, 107, 0, 83, 0, 110, 0, 107, 0, 83, 0, 85, 0, 110, 0, 85, 0, 112, 0, 110, 0, 85, 0, 87, 0, 112, 0, 87, 0, 113, 0, 112, 0, 87, 0, 89, 0, 113, 0, 90, 0, 117, 0, 114, 0, 90, 0, 92, 0, 117, 0, 93, 0, 119, 0, 118, 0, 93, 0, 95, 0, 119, 0, 95, 0, 98, 0, 119, 0, 95, 0, 72, 0, 98, 0, 98, 0, 124, 0, 121, 0, 98, 0, 100, 0, 124, 0, 100, 0, 126, 0, 124, 0, 100, 0, 103, 0, 126, 0, 102, 0, 130, 0, 125, 0, 102, 0, 106, 0, 130, 0, 105, 0, 132, 0, 129, 0, 105, 0, 107, 0, 132, 0, 107, 0, 134, 0, 132, 0, 107, 0, 110, 0, 134, 0, 110, 0, 135, 0, 134, 0, 110, 0, 112, 0, 135, 0, 112, 0, 137, 0, 135, 0, 112, 0, 113, 0, 137, 0, 114, 0, 141, 0, 138, 0, 114, 0, 117, 0, 141, 0, 118, 0, 144, 0, 142, 0, 118, 0, 119, 0, 144, 0, 119, 0, 121, 0, 144, 0, 119, 0, 98, 0, 121, 0, 121, 0, 148, 0, 145, 0, 121, 0, 124, 0, 148, 0, 124, 0, 151, 0, 148, 0, 124, 0, 126, 0, 151, 0, 125, 0, 153, 0, 150, 0, 125, 0, 130, 0, 153, 0, 129, 0, 155, 0, 152, 0, 129, 0, 132, 0, 155, 0, 132, 0, 157, 0, 155, 0, 132, 0, 134, 0, 157, 0, 134, 0, 159, 0, 157, 0, 134, 0, 135, 0, 159, 0, 135, 0, 161, 0, 159, 0, 135, 0, 137, 0, 161, 0, 138, 0, 164, 0, 162, 0, 138, 0, 141, 0, 164, 0, 142, 0, 167, 0, 165, 0, 142, 0, 144, 0, 167, 0, 144, 0, 145, 0, 167, 0, 144, 0, 121, 0, 145, 0, 145, 0, 171, 0, 169, 0, 145, 0, 148, 0, 171, 0, 148, 0, 174, 0, 171, 0, 148, 0, 151, 0, 174, 0, 150, 0, 178, 0, 173, 0, 150, 0, 153, 0, 178, 0, 152, 0, 179, 0, 177, 0, 152, 0, 155, 0, 179, 0, 155, 0, 182, 0, 179, 0, 155, 0, 157, 0, 182, 0, 157, 0, 183, 0, 182, 0, 157, 0, 159, 0, 183, 0, 159, 0, 186, 0, 183, 0, 159, 0, 161, 0, 186, 0, 162, 0, 189, 0, 187, 0, 162, 0, 164, 0, 189, 0, 165, 0, 191, 0, 190, 0, 165, 0, 167, 0, 191, 0, 167, 0, 169, 0, 191, 0, 167, 0, 145, 0, 169, 0, 169, 0, 195, 0, 193, 0, 169, 0, 171, 0, 195, 0, 171, 0, 197, 0, 195, 0, 171, 0, 174, 0, 197, 0, 173, 0, 200, 0, 198, 0, 173, 0, 178, 0, 200, 0, 177, 0, 204, 0, 201, 0, 177, 0, 179, 0, 204, 0, 179, 0, 205, 0, 204, 0, 179, 0, 182, 0, 205, 0, 182, 0, 207, 0, 205, 0, 182, 0, 183, 0, 207, 0, 183, 0, 211, 0, 207, 0, 183, 0, 186, 0, 211, 0, 187, 0, 213, 0, 210, 0, 187, 0, 189, 0, 213, 0, 190, 0, 215, 0, 212, 0, 190, 0, 191, 0, 215, 0, 191, 0, 193, 0, 215, 0, 191, 0, 169, 0, 193, 0, 195, 0, 90, 2, 193, 0, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 85, 2, 197, 0, 219, 0, 85, 2, 195, 0, 197, 0, 198, 0, 223, 0, 220, 0, 198, 0, 200, 0, 223, 0, 201, 0, 226, 0, 224, 0, 201, 0, 204, 0, 226, 0, 204, 0, 228, 0, 226, 0, 204, 0, 205, 0, 228, 0, 205, 0, 229, 0, 228, 0, 205, 0, 207, 0, 229, 0, 207, 0, 232, 0, 229, 0, 207, 0, 211, 0, 232, 0, 210, 0, 236, 0, 231, 0, 210, 0, 213, 0, 236, 0, 235, 0, 38, 2, 40, 2, 38, 2, 212, 0, 215, 0, 38, 2, 235, 0, 212, 0, 193, 0, 38, 2, 215, 0, 193, 0, 90, 2, 38, 2, 239, 0, 202, 0, 237, 0, 239, 0, 206, 0, 202, 0, 219, 0, 87, 2, 85, 2, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 226, 0, 81, 2, 224, 0, 226, 0, 83, 2, 81, 2, 214, 0, 82, 0, 243, 0, 214, 0, 209, 0, 82, 0, 48, 2, 226, 0, 228, 0, 48, 2, 83, 2, 226, 0, 50, 2, 228, 0, 229, 0, 50, 2, 48, 2, 228, 0, 46, 2, 229, 0, 232, 0, 46, 2, 50, 2, 229, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 255, 0, 237, 0, 253, 0, 255, 0, 239, 0, 237, 0, 40, 2, 42, 2, 235, 0, 3, 1, 82, 0, 1, 1, 3, 1, 243, 0, 82, 0, 82, 0, 206, 0, 239, 0, 82, 0, 209, 0, 206, 0, 255, 0, 82, 0, 239, 0, 255, 0, 1, 1, 82, 0, 70, 2, 33, 1, 76, 2, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 75, 2, 40, 1, 37, 1, 75, 2, 69, 2, 40, 1, 63, 2, 40, 1, 69, 2, 63, 2, 41, 1, 40, 1, 63, 2, 43, 1, 41, 1, 63, 2, 53, 2, 43, 1, 53, 2, 46, 1, 43, 1, 53, 2, 59, 2, 46, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 64, 2, 49, 1, 54, 2, 60, 2, 55, 1, 53, 1, 60, 2, 78, 2, 55, 1, 55, 1, 33, 1, 56, 1, 33, 1, 78, 2, 76, 2, 33, 1, 55, 1, 78, 2, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 37, 1, 63, 1, 60, 1, 37, 1, 40, 1, 63, 1, 40, 1, 64, 1, 63, 1, 40, 1, 41, 1, 64, 1, 41, 1, 67, 1, 64, 1, 41, 1, 43, 1, 67, 1, 43, 1, 69, 1, 67, 1, 43, 1, 46, 1, 69, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 66, 2, 49, 1, 64, 2, 49, 1, 74, 1, 72, 1, 49, 1, 66, 2, 74, 1, 74, 1, 60, 2, 53, 1, 74, 1, 66, 2, 60, 2, 53, 1, 79, 1, 77, 1, 53, 1, 55, 1, 79, 1, 55, 1, 81, 1, 79, 1, 55, 1, 56, 1, 81, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 60, 1, 87, 1, 84, 1, 60, 1, 63, 1, 87, 1, 63, 1, 89, 1, 87, 1, 63, 1, 64, 1, 89, 1, 64, 1, 90, 1, 89, 1, 64, 1, 67, 1, 90, 1, 67, 1, 94, 1, 90, 1, 67, 1, 69, 1, 94, 1, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 72, 1, 99, 1, 95, 1, 72, 1, 74, 1, 99, 1, 74, 1, 77, 1, 99, 1, 74, 1, 53, 1, 77, 1, 77, 1, 102, 1, 100, 1, 77, 1, 79, 1, 102, 1, 79, 1, 104, 1, 102, 1, 79, 1, 81, 1, 104, 1, 82, 1, 107, 1, 105, 1, 82, 1, 83, 1, 107, 1, 84, 1, 111, 1, 108, 1, 84, 1, 87, 1, 111, 1, 87, 1, 112, 1, 111, 1, 87, 1, 89, 1, 112, 1, 89, 1, 114, 1, 112, 1, 89, 1, 90, 1, 114, 1, 90, 1, 118, 1, 114, 1, 90, 1, 94, 1, 118, 1, 93, 1, 120, 1, 117, 1, 93, 1, 96, 1, 120, 1, 95, 1, 123, 1, 119, 1, 95, 1, 99, 1, 123, 1, 99, 1, 100, 1, 123, 1, 99, 1, 77, 1, 100, 1, 100, 1, 127, 1, 125, 1, 100, 1, 102, 1, 127, 1, 102, 1, 129, 1, 127, 1, 102, 1, 104, 1, 129, 1, 105, 1, 132, 1, 130, 1, 105, 1, 107, 1, 132, 1, 108, 1, 134, 1, 133, 1, 108, 1, 111, 1, 134, 1, 111, 1, 137, 1, 134, 1, 111, 1, 112, 1, 137, 1, 112, 1, 139, 1, 137, 1, 112, 1, 114, 1, 139, 1, 114, 1, 141, 1, 139, 1, 114, 1, 118, 1, 141, 1, 117, 1, 145, 1, 140, 1, 117, 1, 120, 1, 145, 1, 119, 1, 147, 1, 144, 1, 119, 1, 123, 1, 147, 1, 123, 1, 125, 1, 147, 1, 123, 1, 100, 1, 125, 1, 125, 1, 151, 1, 149, 1, 125, 1, 127, 1, 151, 1, 127, 1, 153, 1, 151, 1, 127, 1, 129, 1, 153, 1, 130, 1, 157, 1, 152, 1, 130, 1, 132, 1, 157, 1, 133, 1, 158, 1, 156, 1, 133, 1, 134, 1, 158, 1, 134, 1, 161, 1, 158, 1, 134, 1, 137, 1, 161, 1, 137, 1, 162, 1, 161, 1, 137, 1, 139, 1, 162, 1, 139, 1, 165, 1, 162, 1, 139, 1, 141, 1, 165, 1, 140, 1, 168, 1, 166, 1, 140, 1, 145, 1, 168, 1, 144, 1, 170, 1, 169, 1, 144, 1, 147, 1, 170, 1, 147, 1, 149, 1, 170, 1, 147, 1, 125, 1, 149, 1, 149, 1, 175, 1, 172, 1, 149, 1, 151, 1, 175, 1, 151, 1, 178, 1, 175, 1, 151, 1, 153, 1, 178, 1, 152, 1, 181, 1, 177, 1, 152, 1, 157, 1, 181, 1, 156, 1, 183, 1, 180, 1, 156, 1, 158, 1, 183, 1, 158, 1, 185, 1, 183, 1, 158, 1, 161, 1, 185, 1, 161, 1, 187, 1, 185, 1, 161, 1, 162, 1, 187, 1, 162, 1, 189, 1, 187, 1, 162, 1, 165, 1, 189, 1, 166, 1, 192, 1, 190, 1, 166, 1, 168, 1, 192, 1, 169, 1, 195, 1, 193, 1, 169, 1, 170, 1, 195, 1, 170, 1, 172, 1, 195, 1, 170, 1, 149, 1, 172, 1, 172, 1, 199, 1, 197, 1, 172, 1, 175, 1, 199, 1, 175, 1, 202, 1, 199, 1, 175, 1, 178, 1, 202, 1, 177, 1, 205, 1, 201, 1, 177, 1, 181, 1, 205, 1, 180, 1, 207, 1, 204, 1, 180, 1, 183, 1, 207, 1, 183, 1, 209, 1, 207, 1, 183, 1, 185, 1, 209, 1, 185, 1, 211, 1, 209, 1, 185, 1, 187, 1, 211, 1, 187, 1, 213, 1, 211, 1, 187, 1, 189, 1, 213, 1, 190, 1, 216, 1, 214, 1, 190, 1, 192, 1, 216, 1, 193, 1, 219, 1, 217, 1, 193, 1, 195, 1, 219, 1, 195, 1, 197, 1, 219, 1, 195, 1, 172, 1, 197, 1, 197, 1, 223, 1, 221, 1, 197, 1, 199, 1, 223, 1, 199, 1, 226, 1, 223, 1, 199, 1, 202, 1, 226, 1, 201, 1, 229, 1, 225, 1, 201, 1, 205, 1, 229, 1, 204, 1, 231, 1, 228, 1, 204, 1, 207, 1, 231, 1, 207, 1, 233, 1, 231, 1, 207, 1, 209, 1, 233, 1, 209, 1, 235, 1, 233, 1, 209, 1, 211, 1, 235, 1, 211, 1, 237, 1, 235, 1, 211, 1, 213, 1, 237, 1, 214, 1, 240, 1, 238, 1, 214, 1, 216, 1, 240, 1, 217, 1, 243, 1, 241, 1, 217, 1, 219, 1, 243, 1, 219, 1, 221, 1, 243, 1, 219, 1, 197, 1, 221, 1, 221, 1, 3, 0, 0, 0, 221, 1, 223, 1, 3, 0, 223, 1, 5, 0, 3, 0, 223, 1, 226, 1, 5, 0, 225, 1, 8, 0, 4, 0, 225, 1, 229, 1, 8, 0, 228, 1, 11, 0, 7, 0, 228, 1, 231, 1, 11, 0, 231, 1, 13, 0, 11, 0, 231, 1, 233, 1, 13, 0, 233, 1, 15, 0, 13, 0, 233, 1, 235, 1, 15, 0, 235, 1, 17, 0, 15, 0, 235, 1, 237, 1, 17, 0, 238, 1, 20, 0, 18, 0, 238, 1, 240, 1, 20, 0, 241, 1, 23, 0, 21, 0, 241, 1, 243, 1, 23, 0, 243, 1, 0, 0, 23, 0, 243, 1, 221, 1, 0, 0, 35, 2, 49, 0, 19, 0, 35, 2, 46, 0, 49, 0, 38, 0, 86, 0, 46, 0, 38, 0, 79, 0, 86, 0, 46, 0, 91, 0, 49, 0, 46, 0, 86, 0, 91, 0, 54, 0, 99, 0, 58, 0, 54, 0, 96, 0, 99, 0, 78, 0, 123, 0, 79, 0, 78, 0, 120, 0, 123, 0, 86, 0, 133, 0, 91, 0, 86, 0, 128, 0, 133, 0, 91, 0, 139, 0, 96, 0, 91, 0, 133, 0, 139, 0, 139, 0, 181, 0, 143, 0, 139, 0, 176, 0, 181, 0, 176, 0, 222, 0, 181, 0, 176, 0, 217, 0, 222, 0, 217, 0, 246, 0, 222, 0, 217, 0, 245, 0, 246, 0, 255, 0, 19, 1, 1, 1, 255, 0, 17, 1, 19, 1, 1, 1, 21, 1, 3, 1, 1, 1, 19, 1, 21, 1, 15, 1, 38, 1, 17, 1, 15, 1, 32, 1, 38, 1, 19, 1, 47, 1, 21, 1, 19, 1, 42, 1, 47, 1, 198, 1, 215, 1, 200, 1, 198, 1, 212, 1, 215, 1, 200, 1, 218, 1, 203, 1, 200, 1, 215, 1, 218, 1, 212, 1, 232, 1, 215, 1, 212, 1, 230, 1, 232, 1, 215, 1, 234, 1, 218, 1, 215, 1, 232, 1, 234, 1, 232, 1, 246, 1, 234, 1, 232, 1, 245, 1, 246, 1, 227, 1, 244, 1, 230, 1, 227, 1, 242, 1, 244, 1, 242, 1, 250, 1, 244, 1, 242, 1, 249, 1, 250, 1, 245, 1, 252, 1, 246, 1, 245, 1, 251, 1, 252, 1, 249, 1, 0, 2, 250, 1, 249, 1, 255, 1, 0, 2, 250, 1, 1, 2, 251, 1, 250, 1, 0, 2, 1, 2, 1, 2, 8, 2, 2, 2, 1, 2, 7, 2, 8, 2, 255, 1, 6, 2, 0, 2, 255, 1, 5, 2, 6, 2, 5, 2, 12, 2, 6, 2, 5, 2, 11, 2, 12, 2, 6, 2, 13, 2, 7, 2, 6, 2, 12, 2, 13, 2, 7, 2, 14, 2, 8, 2, 7, 2, 13, 2, 14, 2, 13, 2, 20, 2, 14, 2, 13, 2, 19, 2, 20, 2, 11, 2, 18, 2, 12, 2, 11, 2, 17, 2, 18, 2, 12, 2, 19, 2, 13, 2, 12, 2, 18, 2, 19, 2, 18, 2, 25, 2, 19, 2, 18, 2, 24, 2, 25, 2, 20, 2, 27, 2, 21, 2, 20, 2, 26, 2, 27, 2, 17, 2, 24, 2, 18, 2, 17, 2, 23, 2, 24, 2, 23, 2, 30, 2, 24, 2, 23, 2, 29, 2, 30, 2, 27, 2, 34, 2, 28, 2, 27, 2, 33, 2, 34, 2, 24, 2, 31, 2, 25, 2, 24, 2, 30, 2, 31, 2, 33, 2, 37, 2, 34, 2, 33, 2, 36, 2, 37, 2, 160, 2, 133, 2, 120, 2, 133, 2, 97, 2, 99, 2, 97, 2, 183, 2, 95, 2, 183, 2, 143, 2, 145, 2, 143, 2, 185, 2, 189, 2, 185, 2, 115, 2, 117, 2, 115, 2, 170, 2, 174, 2, 170, 2, 152, 2, 168, 2, 152, 2, 102, 2, 134, 2, 102, 2, 104, 2, 100, 2, 104, 2, 146, 2, 176, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 172, 2, 133, 2, 160, 2, 128, 2, 133, 2, 172, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 128, 2, 97, 2, 133, 2, 126, 2, 97, 2, 128, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 164, 2, 183, 2, 126, 2, 102, 2, 137, 2, 104, 2, 102, 2, 139, 2, 137, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 110, 2, 143, 2, 183, 2, 156, 2, 143, 2, 110, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 156, 2, 185, 2, 143, 2, 154, 2, 185, 2, 156, 2, 170, 2, 149, 2, 152, 2, 170, 2, 151, 2, 149, 2, 180, 2, 185, 2, 154, 2, 186, 2, 185, 2, 180, 2, 115, 2, 151, 2, 170, 2, 115, 2, 166, 2, 151, 2, 186, 2, 115, 2, 185, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 163, 2, 130, 2, 107, 2, 130, 2, 120, 2, 118, 2, 120, 2, 163, 2, 160, 2, 163, 2, 120, 2, 130, 2, 186, 1, 132, 2, 164, 1, 186, 1, 121, 2, 132, 2, 23, 2, 173, 2, 29, 2, 23, 2, 129, 2, 173, 2, 202, 0, 136, 2, 237, 0, 202, 0, 124, 2, 136, 2, 4, 1, 114, 2, 250, 0, 4, 1, 116, 2, 114, 2, 140, 0, 101, 2, 115, 0, 140, 0, 103, 2, 101, 2, 17, 2, 129, 2, 23, 2, 17, 2, 127, 2, 129, 2, 101, 1, 182, 2, 76, 1, 101, 1, 94, 2, 182, 2, 210, 1, 181, 2, 227, 1, 210, 1, 187, 2, 181, 2, 15, 1, 158, 2, 32, 1, 15, 1, 140, 2, 158, 2, 143, 1, 96, 2, 121, 1, 143, 1, 98, 2, 96, 2, 32, 1, 148, 2, 70, 1, 32, 1, 158, 2, 148, 2, 255, 1, 113, 2, 5, 2, 255, 1, 111, 2, 113, 2, 31, 1, 188, 2, 23, 1, 31, 1, 142, 2, 188, 2, 23, 1, 184, 2, 12, 1, 23, 1, 188, 2, 184, 2, 29, 2, 161, 2, 10, 0, 29, 2, 173, 2, 161, 2, 227, 1, 155, 2, 242, 1, 227, 1, 181, 2, 155, 2, 253, 0, 140, 2, 15, 1, 253, 0, 138, 2, 140, 2, 241, 0, 171, 2, 227, 0, 241, 0, 175, 2, 171, 2, 250, 0, 175, 2, 241, 0, 250, 0, 114, 2, 175, 2, 35, 0, 106, 2, 78, 0, 35, 0, 162, 2, 106, 2, 203, 0, 153, 2, 185, 0, 203, 0, 169, 2, 153, 2, 160, 0, 103, 2, 140, 0, 160, 0, 135, 2, 103, 2, 150, 1, 179, 2, 191, 1, 150, 1, 167, 2, 179, 2, 11, 2, 127, 2, 17, 2, 11, 2, 165, 2, 127, 2, 71, 0, 147, 2, 50, 0, 71, 0, 177, 2, 147, 2, 115, 0, 105, 2, 97, 0, 115, 0, 101, 2, 105, 2, 164, 1, 98, 2, 143, 1, 164, 1, 132, 2, 98, 2, 50, 0, 131, 2, 26, 0, 50, 0, 147, 2, 131, 2, 158, 0, 124, 2, 202, 0, 158, 0, 122, 2, 124, 2, 26, 0, 119, 2, 6, 0, 26, 0, 131, 2, 119, 2, 6, 0, 121, 2, 186, 1, 6, 0, 119, 2, 121, 2, 78, 0, 108, 2, 120, 0, 78, 0, 106, 2, 108, 2, 227, 0, 169, 2, 203, 0, 227, 0, 171, 2, 169, 2, 10, 0, 162, 2, 35, 0, 10, 0, 161, 2, 162, 2, 121, 1, 94, 2, 101, 1, 121, 1, 96, 2, 94, 2, 120, 0, 122, 2, 158, 0, 120, 0, 108, 2, 122, 2, 110, 1, 167, 2, 150, 1, 110, 1, 150, 2, 167, 2, 76, 1, 144, 2, 58, 1, 76, 1, 182, 2, 144, 2, 191, 1, 187, 2, 210, 1, 191, 1, 179, 2, 187, 2, 12, 1, 116, 2, 4, 1, 12, 1, 184, 2, 116, 2, 97, 0, 177, 2, 71, 0, 97, 0, 105, 2, 177, 2, 70, 1, 150, 2, 110, 1, 70, 1, 148, 2, 150, 2, 249, 1, 111, 2, 255, 1, 249, 1, 157, 2, 111, 2, 5, 2, 165, 2, 11, 2, 5, 2, 113, 2, 165, 2, 242, 1, 157, 2, 249, 1, 242, 1, 155, 2, 157, 2, 237, 0, 138, 2, 253, 0, 237, 0, 136, 2, 138, 2),
+"lods": [0.00381843, PackedByteArray(9, 0, 119, 2, 132, 2, 119, 2, 121, 2, 132, 2, 132, 2, 98, 2, 96, 2, 171, 1, 132, 2, 96, 2, 171, 1, 9, 0, 132, 2, 96, 2, 124, 1, 171, 1, 179, 1, 9, 0, 171, 1, 124, 1, 179, 1, 171, 1, 9, 0, 55, 0, 119, 2, 55, 0, 147, 2, 119, 2, 147, 2, 131, 2, 119, 2, 9, 0, 63, 0, 55, 0, 55, 0, 73, 0, 147, 2, 63, 0, 73, 0, 55, 0, 73, 0, 97, 0, 147, 2, 97, 0, 177, 2, 147, 2, 97, 0, 105, 2, 177, 2, 22, 0, 63, 0, 9, 0, 179, 1, 22, 0, 9, 0, 63, 0, 104, 0, 73, 0, 91, 2, 105, 2, 97, 0, 91, 2, 101, 2, 105, 2, 97, 0, 39, 2, 91, 2, 97, 0, 41, 2, 39, 2, 97, 0, 44, 2, 41, 2, 44, 2, 97, 0, 47, 2, 116, 0, 97, 0, 73, 0, 47, 2, 97, 0, 116, 0, 104, 0, 116, 0, 73, 0, 47, 2, 116, 0, 51, 2, 51, 2, 116, 0, 49, 2, 116, 0, 84, 2, 49, 2, 116, 0, 82, 2, 84, 2, 140, 0, 82, 2, 116, 0, 140, 0, 101, 2, 91, 2, 140, 0, 89, 2, 82, 2, 140, 0, 103, 2, 101, 2, 89, 2, 140, 0, 86, 2, 140, 0, 135, 2, 103, 2, 93, 2, 140, 0, 91, 2, 86, 2, 140, 0, 93, 2, 153, 2, 135, 2, 140, 0, 116, 0, 188, 0, 140, 0, 188, 0, 153, 2, 140, 0, 147, 0, 188, 0, 116, 0, 104, 0, 147, 0, 116, 0, 153, 2, 188, 0, 230, 0, 230, 0, 171, 2, 153, 2, 171, 2, 169, 2, 153, 2, 188, 0, 234, 0, 230, 0, 230, 0, 251, 0, 171, 2, 234, 0, 251, 0, 230, 0, 196, 0, 234, 0, 188, 0, 251, 0, 114, 2, 171, 2, 114, 2, 175, 2, 171, 2, 234, 0, 0, 1, 251, 0, 196, 0, 0, 1, 234, 0, 251, 0, 13, 1, 114, 2, 0, 1, 16, 1, 251, 0, 251, 0, 16, 1, 13, 1, 13, 1, 184, 2, 114, 2, 184, 2, 116, 2, 114, 2, 16, 1, 35, 1, 13, 1, 13, 1, 35, 1, 184, 2, 0, 1, 48, 1, 16, 1, 16, 1, 48, 1, 35, 1, 35, 1, 142, 2, 184, 2, 142, 2, 188, 2, 184, 2, 35, 1, 80, 1, 142, 2, 80, 1, 182, 2, 142, 2, 182, 2, 144, 2, 142, 2, 35, 1, 91, 1, 80, 1, 48, 1, 91, 1, 35, 1, 80, 1, 124, 1, 182, 2, 91, 1, 124, 1, 80, 1, 124, 1, 96, 2, 182, 2, 96, 2, 94, 2, 182, 2, 91, 1, 138, 1, 124, 1, 48, 1, 138, 1, 91, 1, 138, 1, 179, 1, 124, 1, 138, 1, 22, 0, 179, 1, 142, 1, 138, 1, 48, 1, 142, 1, 22, 0, 138, 1, 2, 1, 142, 1, 48, 1, 2, 1, 48, 1, 0, 1, 142, 1, 24, 0, 22, 0, 2, 1, 0, 1, 196, 0, 111, 0, 142, 1, 2, 1, 111, 0, 24, 0, 142, 1, 111, 0, 2, 1, 196, 0, 24, 0, 111, 0, 109, 0, 24, 0, 109, 0, 22, 0, 111, 0, 196, 0, 109, 0, 22, 0, 109, 0, 108, 0, 22, 0, 108, 0, 63, 0, 109, 0, 196, 0, 149, 0, 109, 0, 149, 0, 108, 0, 149, 0, 196, 0, 188, 0, 63, 0, 108, 0, 104, 0, 149, 0, 188, 0, 147, 0, 108, 0, 56, 2, 104, 0, 56, 2, 108, 0, 65, 2, 104, 0, 56, 2, 58, 2, 65, 2, 108, 0, 67, 2, 67, 2, 108, 0, 149, 0, 104, 0, 58, 2, 52, 2, 104, 0, 52, 2, 62, 2, 104, 0, 62, 2, 147, 0, 68, 2, 147, 0, 62, 2, 74, 2, 147, 0, 68, 2, 72, 2, 147, 0, 74, 2, 147, 0, 72, 2, 149, 0, 67, 2, 149, 0, 61, 2, 149, 0, 72, 2, 77, 2, 149, 0, 79, 2, 61, 2, 149, 0, 77, 2, 79, 2, 29, 2, 78, 0, 14, 0, 78, 0, 106, 2, 108, 2, 78, 0, 162, 2, 106, 2, 29, 2, 162, 2, 78, 0, 29, 2, 161, 2, 162, 2, 78, 0, 108, 2, 122, 2, 29, 2, 173, 2, 161, 2, 29, 2, 129, 2, 173, 2, 78, 0, 122, 2, 202, 0, 202, 0, 122, 2, 124, 2, 202, 0, 124, 2, 136, 2, 202, 0, 136, 2, 253, 0, 253, 0, 136, 2, 138, 2, 253, 0, 138, 2, 140, 2, 202, 0, 206, 0, 78, 0, 206, 0, 202, 0, 253, 0, 206, 0, 86, 0, 78, 0, 14, 0, 78, 0, 86, 0, 206, 0, 170, 0, 86, 0, 14, 0, 86, 0, 54, 0, 86, 0, 170, 0, 54, 0, 243, 0, 170, 0, 206, 0, 253, 0, 243, 0, 206, 0, 54, 0, 170, 0, 217, 0, 170, 0, 243, 0, 217, 0, 253, 0, 19, 1, 243, 0, 217, 0, 243, 0, 22, 1, 22, 1, 243, 0, 19, 1, 253, 0, 78, 1, 19, 1, 22, 1, 19, 1, 78, 1, 253, 0, 140, 2, 32, 1, 253, 0, 32, 1, 78, 1, 32, 1, 140, 2, 158, 2, 32, 1, 158, 2, 148, 2, 32, 1, 148, 2, 70, 1, 70, 1, 148, 2, 150, 2, 70, 1, 150, 2, 167, 2, 32, 1, 70, 1, 116, 1, 116, 1, 78, 1, 32, 1, 70, 1, 167, 2, 191, 1, 191, 1, 116, 1, 70, 1, 191, 1, 167, 2, 179, 2, 191, 1, 179, 2, 187, 2, 191, 1, 187, 2, 227, 1, 227, 1, 187, 2, 181, 2, 191, 1, 198, 1, 116, 1, 191, 1, 227, 1, 198, 1, 227, 1, 181, 2, 155, 2, 198, 1, 203, 1, 116, 1, 116, 1, 203, 1, 78, 1, 198, 1, 227, 1, 232, 1, 198, 1, 232, 1, 203, 1, 173, 1, 78, 1, 203, 1, 232, 1, 173, 1, 203, 1, 22, 1, 78, 1, 173, 1, 227, 1, 155, 2, 249, 1, 249, 1, 155, 2, 157, 2, 249, 1, 157, 2, 111, 2, 227, 1, 249, 1, 1, 2, 227, 1, 1, 2, 232, 1, 249, 1, 111, 2, 5, 2, 249, 1, 5, 2, 1, 2, 5, 2, 111, 2, 113, 2, 5, 2, 113, 2, 165, 2, 1, 2, 247, 1, 232, 1, 232, 1, 247, 1, 173, 1, 5, 2, 13, 2, 1, 2, 13, 2, 247, 1, 1, 2, 5, 2, 165, 2, 17, 2, 17, 2, 165, 2, 127, 2, 17, 2, 127, 2, 129, 2, 17, 2, 129, 2, 29, 2, 17, 2, 18, 2, 5, 2, 17, 2, 29, 2, 18, 2, 5, 2, 18, 2, 13, 2, 18, 2, 29, 2, 31, 2, 18, 2, 31, 2, 13, 2, 14, 0, 31, 2, 29, 2, 31, 2, 14, 0, 32, 2, 13, 2, 31, 2, 32, 2, 14, 0, 54, 0, 32, 2, 32, 2, 21, 2, 13, 2, 13, 2, 21, 2, 247, 1, 32, 2, 54, 0, 181, 0, 32, 2, 181, 0, 21, 2, 54, 0, 217, 0, 181, 0, 21, 2, 4, 2, 247, 1, 21, 2, 181, 0, 4, 2, 247, 1, 4, 2, 173, 1, 217, 0, 97, 1, 181, 0, 4, 2, 181, 0, 97, 1, 173, 1, 4, 2, 97, 1, 97, 1, 217, 0, 22, 1, 97, 1, 22, 1, 173, 1, 25, 0, 5, 0, 30, 0, 25, 0, 30, 0, 53, 0, 16, 3, 53, 0, 77, 0, 25, 0, 77, 0, 98, 0, 68, 0, 98, 0, 93, 0, 68, 0, 25, 0, 98, 0, 45, 0, 25, 0, 68, 0, 21, 0, 25, 0, 45, 0, 241, 1, 25, 0, 21, 0, 241, 1, 197, 1, 25, 0, 197, 1, 5, 0, 25, 0, 217, 1, 197, 1, 241, 1, 197, 1, 226, 1, 5, 0, 193, 1, 197, 1, 217, 1, 197, 1, 202, 1, 226, 1, 197, 1, 178, 1, 202, 1, 54, 3, 56, 3, 193, 1, 54, 3, 125, 1, 56, 3, 125, 1, 153, 1, 55, 3, 50, 3, 55, 3, 56, 3, 52, 3, 50, 3, 54, 3, 48, 3, 125, 1, 52, 3, 50, 3, 51, 3, 53, 3, 77, 1, 51, 3, 125, 1, 46, 3, 77, 1, 48, 3, 44, 3, 47, 3, 51, 3, 77, 1, 45, 3, 47, 3, 72, 1, 56, 1, 77, 1, 48, 3, 43, 3, 49, 3, 39, 3, 45, 3, 43, 3, 42, 3, 43, 3, 46, 3, 42, 3, 60, 2, 39, 3, 60, 2, 61, 3, 39, 3, 36, 3, 39, 3, 61, 3, 42, 3, 60, 3, 60, 2, 38, 3, 60, 3, 42, 3, 36, 3, 78, 2, 76, 2, 70, 2, 33, 1, 76, 2, 4, 0, 33, 0, 29, 0, 29, 0, 33, 0, 57, 0, 4, 0, 8, 0, 33, 0, 29, 0, 57, 0, 52, 0, 225, 1, 8, 0, 4, 0, 52, 0, 57, 0, 81, 0, 225, 1, 229, 1, 8, 0, 52, 0, 81, 0, 76, 0, 201, 1, 229, 1, 225, 1, 76, 0, 81, 0, 106, 0, 201, 1, 205, 1, 229, 1, 76, 0, 106, 0, 102, 0, 177, 1, 205, 1, 201, 1, 102, 0, 106, 0, 130, 0, 177, 1, 181, 1, 205, 1, 102, 0, 130, 0, 125, 0, 152, 1, 181, 1, 177, 1, 125, 0, 130, 0, 153, 0, 152, 1, 157, 1, 181, 1, 125, 0, 153, 0, 150, 0, 130, 1, 157, 1, 152, 1, 150, 0, 153, 0, 178, 0, 130, 1, 132, 1, 157, 1, 150, 0, 178, 0, 173, 0, 105, 1, 132, 1, 130, 1, 173, 0, 178, 0, 200, 0, 105, 1, 107, 1, 132, 1, 173, 0, 200, 0, 198, 0, 82, 1, 107, 1, 105, 1, 198, 0, 200, 0, 223, 0, 82, 1, 83, 1, 107, 1, 198, 0, 223, 0, 220, 0, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 34, 1, 59, 1, 57, 1, 34, 1, 36, 1, 59, 1, 34, 1, 73, 2, 36, 1, 34, 1, 71, 2, 73, 2, 7, 0, 36, 0, 32, 0, 32, 0, 36, 0, 56, 0, 228, 1, 36, 0, 7, 0, 56, 0, 36, 0, 110, 0, 56, 0, 110, 0, 80, 0, 80, 0, 110, 0, 105, 0, 228, 1, 209, 1, 36, 0, 204, 1, 209, 1, 228, 1, 180, 1, 209, 1, 204, 1, 156, 1, 209, 1, 180, 1, 105, 0, 110, 0, 134, 0, 105, 0, 134, 0, 129, 0, 129, 0, 134, 0, 152, 0, 110, 0, 137, 0, 134, 0, 110, 0, 113, 0, 137, 0, 134, 0, 137, 0, 161, 0, 110, 0, 89, 0, 113, 0, 36, 0, 89, 0, 110, 0, 36, 0, 64, 0, 89, 0, 36, 0, 41, 0, 64, 0, 36, 0, 17, 0, 41, 0, 209, 1, 17, 0, 36, 0, 134, 0, 161, 0, 186, 0, 209, 1, 237, 1, 17, 0, 209, 1, 213, 1, 237, 1, 209, 1, 189, 1, 213, 1, 134, 0, 186, 0, 205, 0, 205, 0, 186, 0, 211, 0, 152, 0, 134, 0, 205, 0, 152, 0, 205, 0, 177, 0, 205, 0, 211, 0, 232, 0, 177, 0, 205, 0, 201, 0, 161, 1, 189, 1, 209, 1, 161, 1, 165, 1, 189, 1, 156, 1, 161, 1, 209, 1, 133, 1, 161, 1, 156, 1, 161, 1, 141, 1, 165, 1, 108, 1, 161, 1, 133, 1, 112, 1, 141, 1, 161, 1, 108, 1, 112, 1, 161, 1, 112, 1, 118, 1, 141, 1, 84, 1, 112, 1, 108, 1, 64, 1, 118, 1, 112, 1, 84, 1, 64, 1, 112, 1, 64, 1, 94, 1, 118, 1, 60, 1, 64, 1, 84, 1, 64, 1, 69, 1, 94, 1, 37, 1, 64, 1, 60, 1, 59, 3, 69, 1, 41, 3, 75, 2, 69, 2, 37, 1, 63, 2, 37, 1, 69, 2, 63, 2, 46, 1, 69, 1, 63, 2, 53, 2, 46, 1, 53, 2, 59, 2, 46, 1, 18, 0, 44, 0, 42, 0, 42, 0, 44, 0, 67, 0, 18, 0, 20, 0, 44, 0, 42, 0, 67, 0, 65, 0, 238, 1, 20, 0, 18, 0, 65, 0, 67, 0, 92, 0, 238, 1, 240, 1, 20, 0, 65, 0, 92, 0, 90, 0, 214, 1, 240, 1, 238, 1, 90, 0, 92, 0, 117, 0, 214, 1, 216, 1, 240, 1, 90, 0, 117, 0, 114, 0, 190, 1, 216, 1, 214, 1, 114, 0, 117, 0, 141, 0, 190, 1, 192, 1, 216, 1, 114, 0, 141, 0, 138, 0, 166, 1, 192, 1, 190, 1, 138, 0, 141, 0, 164, 0, 166, 1, 168, 1, 192, 1, 138, 0, 164, 0, 162, 0, 140, 1, 168, 1, 166, 1, 162, 0, 164, 0, 189, 0, 140, 1, 145, 1, 168, 1, 162, 0, 189, 0, 187, 0, 117, 1, 145, 1, 140, 1, 187, 0, 189, 0, 213, 0, 117, 1, 120, 1, 145, 1, 187, 0, 213, 0, 210, 0, 93, 1, 120, 1, 117, 1, 210, 0, 213, 0, 236, 0, 93, 1, 96, 1, 120, 1, 210, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 68, 1, 96, 1, 93, 1, 68, 1, 73, 1, 96, 1, 45, 1, 73, 1, 68, 1, 45, 1, 50, 1, 73, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 19, 3, 17, 3, 21, 3, 18, 3, 19, 3, 23, 3, 20, 3, 22, 3, 25, 3, 20, 3, 25, 3, 151, 0, 20, 3, 151, 0, 29, 3, 26, 3, 20, 3, 29, 3, 24, 3, 20, 3, 26, 3, 26, 3, 29, 3, 27, 3, 169, 0, 151, 0, 30, 3, 169, 0, 30, 3, 195, 0, 190, 0, 169, 0, 195, 0, 28, 3, 169, 0, 31, 3, 31, 3, 195, 0, 33, 3, 174, 0, 197, 0, 195, 0, 195, 0, 57, 3, 33, 3, 57, 3, 35, 3, 33, 3, 195, 0, 90, 2, 57, 3, 195, 0, 92, 2, 90, 2, 195, 0, 85, 2, 92, 2, 219, 0, 87, 2, 85, 2, 35, 3, 38, 2, 40, 2, 40, 2, 42, 2, 235, 0, 62, 3, 195, 0, 32, 3, 62, 3, 32, 3, 34, 3, 201, 0, 48, 2, 224, 0, 201, 0, 205, 0, 48, 2, 48, 2, 83, 2, 224, 0, 224, 0, 83, 2, 81, 2, 205, 0, 232, 0, 48, 2, 50, 2, 48, 2, 232, 0, 46, 2, 50, 2, 232, 0, 64, 2, 49, 1, 54, 2, 66, 2, 49, 1, 64, 2, 37, 3, 58, 3, 40, 3, 160, 2, 133, 2, 120, 2, 172, 2, 133, 2, 160, 2, 120, 2, 163, 2, 160, 2, 128, 2, 133, 2, 172, 2, 163, 2, 120, 2, 130, 2, 130, 2, 120, 2, 118, 2, 163, 2, 130, 2, 107, 2, 146, 2, 107, 2, 130, 2, 146, 2, 109, 2, 107, 2, 128, 2, 97, 2, 133, 2, 133, 2, 97, 2, 99, 2, 126, 2, 97, 2, 128, 2, 104, 2, 109, 2, 146, 2, 104, 2, 146, 2, 176, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 126, 2, 183, 2, 97, 2, 97, 2, 183, 2, 95, 2, 164, 2, 183, 2, 126, 2, 112, 2, 183, 2, 164, 2, 110, 2, 183, 2, 112, 2, 102, 2, 137, 2, 104, 2, 102, 2, 104, 2, 100, 2, 102, 2, 139, 2, 137, 2, 152, 2, 139, 2, 102, 2, 152, 2, 102, 2, 134, 2, 152, 2, 141, 2, 139, 2, 152, 2, 159, 2, 141, 2, 152, 2, 149, 2, 159, 2, 170, 2, 149, 2, 152, 2, 170, 2, 152, 2, 168, 2, 170, 2, 151, 2, 149, 2, 115, 2, 151, 2, 170, 2, 115, 2, 170, 2, 174, 2, 115, 2, 166, 2, 151, 2, 115, 2, 178, 2, 166, 2, 115, 2, 186, 2, 178, 2, 186, 2, 115, 2, 185, 2, 185, 2, 115, 2, 117, 2, 186, 2, 185, 2, 180, 2, 180, 2, 185, 2, 154, 2, 154, 2, 185, 2, 156, 2, 156, 2, 185, 2, 143, 2, 143, 2, 185, 2, 189, 2, 156, 2, 143, 2, 110, 2, 110, 2, 143, 2, 183, 2, 183, 2, 143, 2, 145, 2), 0.0373354, PackedByteArray(147, 2, 39, 2, 91, 2, 147, 2, 41, 2, 39, 2, 147, 2, 44, 2, 41, 2, 44, 2, 147, 2, 47, 2, 250, 2, 9, 3, 147, 2, 91, 2, 105, 2, 147, 2, 91, 2, 101, 2, 105, 2, 153, 2, 101, 2, 91, 2, 153, 2, 103, 2, 101, 2, 93, 2, 153, 2, 91, 2, 86, 2, 153, 2, 93, 2, 89, 2, 153, 2, 86, 2, 153, 2, 89, 2, 82, 2, 147, 2, 121, 2, 132, 2, 94, 2, 147, 2, 132, 2, 144, 2, 94, 2, 182, 2, 144, 2, 147, 2, 94, 2, 144, 2, 188, 2, 184, 2, 114, 2, 144, 2, 184, 2, 184, 2, 116, 2, 114, 2, 2, 1, 144, 2, 114, 2, 2, 1, 147, 2, 144, 2, 114, 2, 175, 2, 171, 2, 153, 2, 114, 2, 171, 2, 171, 2, 169, 2, 153, 2, 2, 1, 114, 2, 153, 2, 74, 2, 153, 2, 68, 2, 72, 2, 153, 2, 74, 2, 153, 2, 72, 2, 2, 1, 68, 2, 153, 2, 62, 2, 147, 2, 62, 2, 153, 2, 2, 1, 72, 2, 77, 2, 147, 2, 52, 2, 62, 2, 147, 2, 58, 2, 52, 2, 147, 2, 56, 2, 58, 2, 56, 2, 2, 1, 65, 2, 2, 1, 77, 2, 79, 2, 65, 2, 2, 1, 67, 2, 2, 1, 79, 2, 61, 2, 67, 2, 2, 1, 61, 2, 147, 2, 153, 2, 116, 0, 153, 2, 82, 2, 116, 0, 47, 2, 147, 2, 116, 0, 116, 0, 82, 2, 84, 2, 47, 2, 116, 0, 51, 2, 116, 0, 84, 2, 51, 2, 161, 2, 108, 2, 129, 2, 108, 2, 122, 2, 124, 2, 129, 2, 108, 2, 54, 0, 124, 2, 54, 0, 108, 2, 138, 2, 54, 0, 124, 2, 124, 2, 136, 2, 138, 2, 129, 2, 54, 0, 247, 1, 113, 2, 129, 2, 247, 1, 138, 2, 150, 2, 54, 0, 54, 0, 150, 2, 247, 1, 138, 2, 140, 2, 150, 2, 157, 2, 113, 2, 247, 1, 157, 2, 111, 2, 113, 2, 157, 2, 247, 1, 179, 2, 179, 2, 247, 1, 150, 2, 150, 2, 167, 2, 179, 2, 225, 1, 57, 0, 29, 0, 29, 0, 57, 0, 52, 0, 52, 0, 57, 0, 76, 0, 76, 0, 57, 0, 102, 0, 225, 1, 229, 1, 57, 0, 102, 0, 57, 0, 130, 0, 201, 1, 229, 1, 225, 1, 102, 0, 130, 0, 125, 0, 201, 1, 157, 1, 229, 1, 125, 0, 130, 0, 223, 0, 177, 1, 157, 1, 201, 1, 152, 1, 157, 1, 177, 1, 130, 1, 157, 1, 152, 1, 105, 1, 157, 1, 130, 1, 105, 1, 83, 1, 157, 1, 82, 1, 83, 1, 105, 1, 57, 1, 83, 1, 82, 1, 57, 1, 59, 1, 83, 1, 34, 1, 59, 1, 57, 1, 34, 1, 73, 2, 59, 1, 34, 1, 71, 2, 73, 2, 125, 0, 223, 0, 150, 0, 150, 0, 223, 0, 173, 0, 173, 0, 223, 0, 198, 0, 198, 0, 223, 0, 220, 0, 223, 0, 88, 2, 220, 0, 223, 0, 80, 2, 88, 2, 56, 0, 237, 1, 41, 0, 56, 0, 41, 0, 64, 0, 56, 0, 64, 0, 89, 0, 56, 0, 89, 0, 113, 0, 56, 0, 113, 0, 137, 0, 56, 0, 137, 0, 129, 0, 156, 1, 237, 1, 56, 0, 228, 1, 156, 1, 56, 0, 156, 1, 213, 1, 237, 1, 156, 1, 189, 1, 213, 1, 156, 1, 165, 1, 189, 1, 156, 1, 141, 1, 165, 1, 84, 1, 141, 1, 156, 1, 84, 1, 118, 1, 141, 1, 69, 1, 118, 1, 84, 1, 69, 1, 94, 1, 118, 1, 60, 1, 69, 1, 84, 1, 60, 1, 63, 2, 69, 1, 63, 2, 60, 1, 69, 2, 10, 3, 46, 1, 69, 1, 63, 2, 53, 2, 46, 1, 53, 2, 59, 2, 46, 1, 238, 1, 44, 0, 42, 0, 42, 0, 44, 0, 67, 0, 238, 1, 20, 0, 44, 0, 42, 0, 67, 0, 65, 0, 238, 1, 216, 1, 20, 0, 65, 0, 67, 0, 92, 0, 214, 1, 216, 1, 238, 1, 65, 0, 92, 0, 90, 0, 190, 1, 216, 1, 214, 1, 90, 0, 92, 0, 117, 0, 190, 1, 168, 1, 216, 1, 90, 0, 117, 0, 114, 0, 166, 1, 168, 1, 190, 1, 114, 0, 117, 0, 141, 0, 140, 1, 168, 1, 166, 1, 114, 0, 141, 0, 138, 0, 140, 1, 120, 1, 168, 1, 138, 0, 141, 0, 164, 0, 117, 1, 120, 1, 140, 1, 138, 0, 164, 0, 162, 0, 93, 1, 120, 1, 117, 1, 162, 0, 164, 0, 187, 0, 93, 1, 73, 1, 120, 1, 187, 0, 164, 0, 213, 0, 68, 1, 73, 1, 93, 1, 187, 0, 213, 0, 210, 0, 45, 1, 73, 1, 68, 1, 210, 0, 213, 0, 236, 0, 45, 1, 50, 1, 73, 1, 45, 1, 55, 2, 50, 1, 45, 1, 57, 2, 55, 2, 210, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 21, 0, 30, 0, 45, 0, 217, 1, 30, 0, 21, 0, 217, 1, 226, 1, 30, 0, 217, 1, 202, 1, 226, 1, 217, 1, 178, 1, 202, 1, 45, 0, 30, 0, 72, 0, 30, 0, 53, 0, 72, 0, 72, 0, 53, 0, 77, 0, 45, 0, 72, 0, 68, 0, 68, 0, 72, 0, 93, 0, 72, 0, 126, 0, 151, 0, 238, 2, 103, 0, 126, 0, 245, 2, 151, 0, 174, 0, 118, 0, 238, 2, 244, 2, 118, 0, 244, 2, 243, 2, 243, 2, 244, 2, 245, 2, 245, 2, 174, 0, 246, 2, 245, 2, 246, 2, 212, 0, 246, 2, 8, 3, 212, 0, 8, 3, 249, 2, 247, 2, 15, 3, 246, 2, 248, 2, 246, 2, 15, 3, 92, 2, 246, 2, 92, 2, 90, 2, 197, 0, 90, 2, 38, 2, 235, 0, 38, 2, 40, 2, 40, 2, 42, 2, 235, 0, 237, 2, 239, 2, 241, 2, 240, 2, 237, 2, 242, 2, 129, 0, 137, 0, 224, 0, 137, 0, 161, 0, 186, 0, 137, 0, 186, 0, 224, 0, 224, 0, 186, 0, 211, 0, 224, 0, 211, 0, 232, 0, 224, 0, 232, 0, 50, 2, 46, 2, 50, 2, 232, 0, 50, 2, 83, 2, 224, 0, 224, 0, 83, 2, 81, 2, 219, 0, 87, 2, 85, 2, 70, 2, 33, 1, 76, 2, 33, 1, 78, 2, 76, 2, 13, 3, 12, 3, 254, 2, 64, 2, 49, 1, 54, 2, 66, 2, 49, 1, 64, 2, 60, 2, 14, 3, 253, 2, 251, 2, 253, 2, 14, 3, 255, 2, 60, 2, 253, 2, 255, 2, 11, 3, 60, 2, 252, 2, 11, 3, 255, 2, 253, 2, 1, 3, 255, 2, 255, 2, 1, 3, 104, 1, 72, 1, 104, 1, 129, 1, 119, 1, 72, 1, 153, 1, 0, 3, 3, 3, 153, 1, 169, 1, 153, 1, 217, 1, 2, 3, 4, 3, 169, 1, 5, 3, 6, 3, 7, 3, 160, 2, 133, 2, 120, 2, 128, 2, 133, 2, 160, 2, 120, 2, 109, 2, 160, 2, 128, 2, 95, 2, 133, 2, 109, 2, 120, 2, 146, 2, 128, 2, 183, 2, 95, 2, 112, 2, 183, 2, 128, 2, 110, 2, 183, 2, 112, 2, 110, 2, 145, 2, 183, 2, 104, 2, 109, 2, 146, 2, 156, 2, 145, 2, 110, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 137, 2, 125, 2, 102, 2, 137, 2, 104, 2, 102, 2, 104, 2, 100, 2, 102, 2, 139, 2, 137, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 152, 2, 151, 2, 141, 2, 170, 2, 151, 2, 152, 2, 170, 2, 152, 2, 168, 2, 115, 2, 151, 2, 170, 2, 115, 2, 170, 2, 174, 2, 115, 2, 166, 2, 151, 2, 115, 2, 178, 2, 166, 2, 115, 2, 156, 2, 178, 2, 156, 2, 115, 2, 185, 2, 185, 2, 115, 2, 117, 2, 156, 2, 185, 2, 145, 2, 145, 2, 185, 2, 189, 2), 0.0615714, PackedByteArray(47, 2, 147, 2, 51, 2, 44, 2, 147, 2, 47, 2, 147, 2, 44, 2, 41, 2, 41, 2, 105, 2, 147, 2, 41, 2, 103, 2, 105, 2, 153, 2, 103, 2, 41, 2, 147, 2, 153, 2, 51, 2, 86, 2, 153, 2, 41, 2, 153, 2, 82, 2, 51, 2, 89, 2, 153, 2, 86, 2, 153, 2, 89, 2, 82, 2, 147, 2, 121, 2, 132, 2, 94, 2, 147, 2, 132, 2, 67, 2, 147, 2, 94, 2, 67, 2, 94, 2, 182, 2, 67, 2, 182, 2, 114, 2, 114, 2, 77, 2, 67, 2, 114, 2, 72, 2, 77, 2, 153, 2, 72, 2, 114, 2, 153, 2, 114, 2, 169, 2, 72, 2, 153, 2, 74, 2, 74, 2, 153, 2, 52, 2, 147, 2, 52, 2, 153, 2, 147, 2, 58, 2, 52, 2, 147, 2, 56, 2, 58, 2, 222, 2, 220, 2, 232, 2, 161, 2, 108, 2, 129, 2, 108, 2, 122, 2, 124, 2, 179, 2, 129, 2, 124, 2, 227, 2, 129, 2, 179, 2, 235, 2, 228, 2, 231, 2, 231, 2, 233, 2, 235, 2, 225, 1, 130, 0, 102, 0, 102, 0, 130, 0, 150, 0, 150, 0, 130, 0, 173, 0, 130, 0, 88, 2, 173, 0, 130, 0, 80, 2, 88, 2, 225, 1, 59, 1, 130, 0, 152, 1, 59, 1, 225, 1, 57, 1, 59, 1, 152, 1, 34, 1, 59, 1, 57, 1, 34, 1, 73, 2, 59, 1, 34, 1, 71, 2, 73, 2, 42, 0, 44, 0, 92, 0, 42, 0, 92, 0, 141, 0, 42, 0, 141, 0, 138, 0, 138, 0, 141, 0, 164, 0, 138, 0, 164, 0, 236, 0, 138, 0, 236, 0, 231, 0, 236, 0, 45, 2, 231, 0, 236, 0, 43, 2, 45, 2, 190, 1, 44, 0, 42, 0, 190, 1, 192, 1, 44, 0, 190, 1, 168, 1, 192, 1, 190, 1, 120, 1, 168, 1, 68, 1, 120, 1, 190, 1, 68, 1, 73, 1, 120, 1, 68, 1, 50, 1, 73, 1, 68, 1, 55, 2, 50, 1, 68, 1, 57, 2, 55, 2, 200, 2, 217, 2, 201, 2, 129, 0, 41, 0, 137, 0, 129, 0, 137, 0, 232, 0, 60, 1, 41, 0, 129, 0, 60, 1, 189, 1, 41, 0, 60, 1, 69, 1, 189, 1, 60, 1, 53, 2, 69, 1, 129, 0, 232, 0, 50, 2, 46, 2, 50, 2, 232, 0, 129, 0, 50, 2, 81, 2, 93, 0, 226, 1, 142, 0, 142, 0, 226, 1, 151, 0, 226, 1, 103, 0, 151, 0, 142, 0, 202, 2, 203, 2, 203, 2, 202, 2, 204, 2, 203, 2, 204, 2, 205, 2, 204, 2, 85, 2, 218, 2, 174, 0, 87, 2, 85, 2, 174, 0, 40, 2, 235, 0, 40, 2, 42, 2, 235, 0, 45, 0, 193, 1, 226, 1, 216, 2, 226, 1, 193, 1, 169, 1, 153, 1, 226, 1, 119, 1, 72, 1, 169, 1, 70, 2, 33, 1, 76, 2, 223, 2, 219, 2, 210, 2, 219, 2, 221, 2, 211, 2, 66, 2, 49, 1, 54, 2, 207, 2, 66, 2, 212, 2, 212, 2, 66, 2, 208, 2, 66, 2, 224, 2, 208, 2, 206, 2, 208, 2, 224, 2, 212, 2, 214, 2, 215, 2, 213, 2, 209, 2, 214, 2, 230, 2, 225, 2, 229, 2, 160, 2, 133, 2, 120, 2, 128, 2, 133, 2, 160, 2, 120, 2, 109, 2, 160, 2, 128, 2, 95, 2, 133, 2, 109, 2, 120, 2, 146, 2, 128, 2, 183, 2, 95, 2, 112, 2, 183, 2, 128, 2, 234, 2, 183, 2, 226, 2, 104, 2, 109, 2, 146, 2, 104, 2, 123, 2, 109, 2, 104, 2, 125, 2, 123, 2, 104, 2, 139, 2, 125, 2, 102, 2, 139, 2, 104, 2, 152, 2, 139, 2, 102, 2, 152, 2, 141, 2, 139, 2, 152, 2, 151, 2, 141, 2, 168, 2, 151, 2, 152, 2, 115, 2, 151, 2, 168, 2, 115, 2, 178, 2, 151, 2, 234, 2, 115, 2, 236, 2, 138, 2, 140, 2, 150, 2), 0.0738546, PackedByteArray(47, 2, 74, 2, 51, 2, 74, 2, 82, 2, 51, 2, 47, 2, 98, 2, 74, 2, 44, 2, 98, 2, 47, 2, 98, 2, 44, 2, 41, 2, 98, 2, 52, 2, 74, 2, 98, 2, 58, 2, 52, 2, 98, 2, 56, 2, 58, 2, 77, 2, 56, 2, 98, 2, 41, 2, 103, 2, 98, 2, 77, 2, 98, 2, 114, 2, 114, 2, 72, 2, 77, 2, 74, 2, 72, 2, 114, 2, 153, 2, 103, 2, 41, 2, 74, 2, 114, 2, 153, 2, 153, 2, 82, 2, 74, 2, 153, 2, 114, 2, 175, 2, 153, 2, 89, 2, 82, 2, 89, 2, 153, 2, 41, 2, 138, 0, 120, 1, 141, 0, 141, 0, 45, 2, 138, 0, 141, 0, 43, 2, 45, 2, 68, 1, 120, 1, 138, 0, 68, 1, 73, 1, 120, 1, 68, 1, 50, 1, 73, 1, 68, 1, 55, 2, 50, 1, 68, 1, 57, 2, 55, 2, 119, 1, 53, 0, 190, 2, 119, 1, 153, 1, 53, 0, 72, 1, 153, 1, 119, 1, 53, 0, 87, 2, 40, 2, 53, 0, 40, 2, 142, 0, 40, 2, 42, 2, 142, 0, 56, 0, 137, 0, 50, 2, 56, 0, 50, 2, 81, 2, 46, 2, 50, 2, 137, 0, 156, 1, 137, 0, 56, 0, 156, 1, 69, 1, 137, 0, 156, 1, 53, 2, 69, 1, 75, 2, 53, 2, 156, 1, 57, 0, 88, 2, 52, 0, 57, 0, 80, 2, 88, 2, 52, 0, 157, 1, 57, 0, 152, 1, 157, 1, 52, 0, 34, 1, 157, 1, 152, 1, 34, 1, 73, 2, 157, 1, 34, 1, 71, 2, 73, 2, 70, 2, 33, 1, 76, 2, 76, 2, 49, 1, 54, 2, 49, 1, 199, 2, 194, 2, 194, 2, 199, 2, 191, 2, 197, 2, 198, 2, 193, 2, 195, 2, 192, 2, 196, 2, 102, 2, 151, 2, 99, 2, 151, 2, 115, 2, 99, 2, 152, 2, 151, 2, 102, 2, 115, 2, 151, 2, 174, 2, 174, 2, 151, 2, 152, 2)],
+"material": SubResource("StandardMaterial3D_ea5pe"),
+"primitive": 3,
+"vertex_count": 831,
+"vertex_data": PackedByteArray(70, 122, 184, 61, 34, 123, 193, 60, 0, 0, 0, 128, 191, 220, 191, 92, 178, 92, 156, 145, 0, 0, 0, 0, 188, 198, 45, 61, 204, 98, 109, 189, 208, 26, 0, 0, 166, 241, 17, 201, 0, 0, 0, 0, 227, 1, 229, 60, 155, 213, 84, 189, 123, 46, 0, 0, 202, 243, 148, 201, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 59, 62, 208, 128, 97, 189, 92, 158, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 255, 127, 255, 127, 125, 92, 192, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 60, 181, 201, 252, 99, 191, 92, 163, 145, 242, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 189, 135, 249, 174, 25, 31, 205, 49, 208, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 73, 54, 2, 156, 123, 92, 158, 145, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 60, 255, 127, 255, 127, 123, 92, 193, 145, 143, 194, 117, 60, 188, 198, 45, 61, 21, 76, 101, 189, 58, 233, 60, 22, 243, 209, 151, 208, 0, 0, 0, 0, 57, 98, 109, 61, 174, 71, 97, 189, 255, 127, 212, 135, 76, 169, 44, 238, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 59, 241, 47, 107, 158, 155, 92, 156, 145, 166, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 189, 85, 215, 116, 18, 166, 218, 238, 207, 58, 53, 175, 61, 148, 146, 207, 60, 217, 185, 180, 33, 63, 35, 63, 163, 185, 92, 158, 145, 0, 0, 0, 0, 178, 19, 51, 61, 144, 154, 89, 189, 255, 127, 207, 154, 189, 182, 84, 238, 213, 23, 176, 61, 24, 58, 206, 60, 0, 155, 192, 187, 108, 30, 241, 175, 168, 92, 150, 145, 167, 232, 51, 60, 168, 107, 126, 60, 113, 219, 39, 189, 241, 198, 254, 14, 128, 228, 127, 206, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 3, 28, 73, 182, 159, 92, 140, 145, 24, 105, 178, 61, 60, 180, 202, 60, 51, 210, 27, 188, 255, 255, 255, 255, 3, 93, 125, 145, 0, 0, 0, 0, 96, 44, 156, 60, 9, 76, 31, 189, 255, 127, 130, 191, 4, 207, 155, 240, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 255, 255, 255, 255, 1, 93, 126, 145, 104, 70, 181, 61, 122, 89, 198, 60, 51, 210, 27, 188, 251, 227, 181, 73, 196, 92, 161, 145, 242, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 188, 175, 181, 88, 11, 145, 236, 33, 205, 171, 151, 183, 61, 158, 211, 194, 60, 0, 155, 192, 187, 127, 225, 62, 80, 187, 92, 159, 145, 208, 179, 131, 59, 0, 0, 19, 181, 143, 194, 117, 188, 185, 154, 165, 5, 190, 247, 75, 201, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 123, 240, 124, 112, 120, 112, 192, 135, 143, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 189, 42, 250, 183, 44, 110, 182, 200, 214, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 59, 87, 223, 221, 114, 81, 112, 180, 135, 204, 98, 237, 60, 188, 198, 45, 61, 14, 149, 77, 189, 51, 235, 61, 39, 139, 188, 104, 215, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 255, 127, 255, 127, 224, 112, 143, 135, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 60, 125, 214, 221, 115, 31, 112, 211, 135, 155, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 189, 76, 218, 13, 33, 95, 199, 144, 214, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 72, 41, 215, 139, 44, 113, 18, 136, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 60, 255, 127, 255, 127, 164, 111, 45, 136, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 59, 3, 33, 53, 141, 150, 112, 15, 136, 30, 58, 105, 60, 57, 98, 109, 61, 144, 154, 89, 189, 80, 102, 119, 134, 168, 143, 122, 250, 142, 56, 178, 61, 218, 128, 254, 60, 217, 185, 180, 33, 154, 15, 153, 143, 70, 112, 202, 135, 79, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 189, 95, 202, 56, 27, 171, 212, 61, 212, 173, 71, 97, 60, 178, 19, 51, 61, 104, 48, 82, 189, 194, 105, 196, 150, 172, 167, 113, 245, 148, 45, 179, 61, 47, 71, 254, 60, 0, 155, 192, 187, 53, 13, 2, 161, 204, 111, 175, 135, 143, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 188, 29, 185, 231, 20, 23, 226, 52, 209, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 215, 11, 71, 169, 219, 111, 106, 135, 12, 175, 181, 61, 55, 176, 253, 60, 51, 210, 27, 188, 255, 255, 0, 0, 157, 111, 48, 136, 242, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 188, 26, 157, 167, 10, 223, 242, 71, 203, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 255, 255, 0, 0, 235, 112, 137, 135, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 220, 243, 126, 86, 90, 112, 240, 135, 4, 251, 73, 60, 196, 124, 249, 60, 77, 115, 60, 189, 138, 109, 169, 168, 244, 184, 188, 245, 107, 73, 187, 61, 164, 94, 252, 60, 0, 155, 192, 187, 220, 242, 88, 95, 148, 112, 214, 135, 76, 152, 188, 61, 76, 206, 27, 61, 0, 0, 0, 128, 160, 244, 94, 139, 104, 139, 174, 133, 153, 234, 36, 60, 96, 44, 156, 60, 125, 222, 25, 189, 1, 113, 13, 185, 199, 201, 92, 243, 80, 199, 45, 61, 57, 98, 109, 61, 80, 199, 45, 189, 91, 250, 45, 61, 220, 164, 227, 221, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 59, 243, 225, 147, 137, 241, 139, 185, 133, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 255, 127, 255, 127, 102, 140, 51, 134, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 60, 231, 216, 70, 136, 133, 139, 129, 133, 30, 58, 233, 59, 84, 36, 41, 60, 144, 154, 217, 188, 167, 116, 79, 202, 182, 216, 126, 242, 113, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 189, 204, 235, 230, 53, 251, 172, 104, 222, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 140, 39, 40, 119, 27, 140, 30, 135, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 60, 255, 127, 255, 127, 14, 138, 7, 133, 82, 116, 113, 59, 72, 61, 158, 59, 174, 71, 97, 188, 27, 121, 97, 223, 168, 233, 103, 240, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 59, 39, 30, 172, 118, 75, 139, 99, 134, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 189, 55, 219, 155, 45, 116, 186, 161, 220, 114, 128, 178, 61, 224, 9, 23, 61, 217, 185, 180, 33, 48, 11, 207, 116, 63, 139, 150, 133, 47, 119, 179, 61, 106, 126, 23, 61, 0, 155, 192, 187, 83, 9, 216, 97, 222, 140, 166, 133, 142, 194, 245, 60, 168, 107, 126, 60, 140, 194, 245, 188, 114, 203, 185, 37, 245, 201, 88, 217, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 215, 8, 115, 88, 83, 142, 15, 134, 37, 253, 181, 61, 133, 175, 24, 61, 51, 210, 27, 188, 255, 255, 0, 0, 27, 138, 13, 133, 80, 199, 173, 60, 240, 100, 196, 59, 80, 199, 173, 188, 54, 186, 27, 29, 82, 218, 224, 212, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 255, 255, 0, 0, 153, 140, 76, 134, 154, 27, 185, 61, 167, 40, 26, 61, 51, 210, 27, 188, 184, 247, 23, 167, 0, 139, 184, 133, 167, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 188, 228, 157, 242, 14, 18, 239, 14, 205, 144, 161, 187, 61, 194, 89, 27, 61, 0, 155, 192, 187, 107, 246, 10, 158, 113, 139, 238, 133, 156, 213, 84, 61, 57, 98, 109, 61, 144, 194, 245, 188, 42, 250, 115, 77, 14, 150, 240, 230, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 6, 222, 248, 161, 248, 161, 251, 144, 13, 149, 77, 61, 188, 198, 45, 61, 202, 98, 237, 188, 51, 235, 246, 67, 143, 161, 158, 230, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 59, 116, 208, 24, 157, 120, 162, 248, 144, 235, 81, 56, 61, 227, 1, 229, 60, 154, 213, 212, 188, 76, 218, 63, 57, 106, 178, 176, 226, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 255, 127, 255, 127, 253, 162, 126, 145, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 194, 201, 46, 154, 32, 162, 196, 144, 174, 71, 225, 60, 57, 98, 109, 61, 35, 25, 67, 189, 72, 83, 212, 133, 214, 99, 115, 249, 144, 154, 217, 60, 178, 19, 51, 61, 76, 115, 60, 189, 194, 88, 203, 148, 180, 158, 227, 254, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 185, 54, 68, 101, 61, 162, 57, 146, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 60, 255, 127, 255, 127, 232, 160, 115, 144, 35, 25, 67, 61, 196, 124, 249, 60, 0, 0, 128, 176, 123, 46, 123, 174, 34, 227, 196, 247, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 59, 152, 47, 51, 99, 155, 161, 152, 145, 35, 127, 22, 61, 168, 107, 126, 60, 77, 199, 173, 188, 95, 202, 38, 47, 3, 196, 206, 221, 254, 7, 176, 61, 163, 134, 45, 61, 217, 185, 180, 33, 205, 33, 50, 94, 206, 161, 229, 144, 36, 25, 195, 60, 196, 124, 249, 60, 194, 245, 40, 189, 241, 94, 177, 165, 226, 181, 249, 249, 162, 239, 176, 61, 155, 132, 46, 61, 0, 155, 192, 187, 204, 28, 103, 80, 55, 163, 205, 144, 156, 213, 212, 60, 240, 100, 196, 59, 144, 194, 117, 188, 29, 185, 53, 36, 123, 213, 237, 215, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 186, 26, 69, 73, 134, 164, 30, 145, 16, 78, 179, 61, 130, 29, 49, 61, 51, 210, 27, 188, 255, 255, 0, 0, 233, 160, 116, 144, 9, 76, 159, 60, 96, 44, 156, 60, 139, 244, 9, 189, 198, 100, 159, 181, 242, 199, 74, 246, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 255, 255, 0, 0, 38, 163, 146, 145, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 208, 229, 60, 182, 138, 161, 17, 145, 166, 87, 92, 60, 0, 0, 19, 181, 240, 109, 254, 187, 26, 157, 116, 18, 128, 236, 133, 206, 24, 154, 184, 61, 72, 236, 54, 61, 0, 155, 192, 187, 229, 226, 138, 175, 241, 161, 60, 145, 174, 71, 97, 60, 84, 36, 41, 60, 35, 25, 195, 188, 23, 107, 225, 198, 77, 216, 115, 243, 204, 98, 109, 61, 57, 98, 109, 61, 243, 109, 126, 188, 135, 249, 216, 95, 214, 138, 65, 243, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 236, 202, 17, 181, 12, 181, 140, 154, 30, 58, 233, 59, 72, 61, 158, 59, 3, 251, 73, 188, 16, 115, 168, 220, 152, 233, 173, 240, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 59, 137, 192, 189, 173, 76, 181, 129, 154, 20, 76, 101, 61, 188, 198, 45, 61, 140, 194, 117, 188, 58, 233, 254, 82, 132, 155, 146, 238, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 255, 127, 255, 127, 161, 181, 208, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 93, 187, 143, 169, 239, 180, 85, 154, 14, 149, 77, 61, 227, 1, 229, 60, 165, 87, 92, 188, 85, 215, 225, 68, 29, 176, 151, 232, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 17, 69, 254, 85, 248, 180, 123, 155, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 60, 255, 127, 255, 127, 251, 179, 253, 153, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 59, 129, 63, 148, 82, 138, 180, 249, 154, 112, 219, 39, 61, 168, 107, 126, 60, 164, 232, 51, 188, 241, 198, 243, 55, 52, 194, 20, 225, 204, 98, 237, 60, 240, 100, 196, 59, 243, 109, 254, 187, 175, 181, 87, 42, 155, 211, 22, 218, 76, 250, 170, 61, 104, 46, 65, 61, 217, 185, 180, 33, 238, 52, 17, 75, 232, 180, 122, 154, 143, 194, 117, 60, 0, 0, 19, 181, 206, 179, 131, 187, 185, 154, 19, 21, 64, 235, 140, 207, 14, 195, 171, 61, 128, 164, 66, 61, 0, 155, 192, 187, 106, 45, 125, 64, 235, 181, 70, 154, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 1, 42, 238, 58, 2, 183, 122, 154, 162, 208, 173, 61, 227, 119, 70, 61, 51, 210, 27, 188, 254, 255, 255, 255, 247, 179, 251, 153, 143, 194, 117, 61, 57, 98, 109, 61, 0, 0, 128, 176, 41, 248, 42, 120, 81, 145, 99, 252, 203, 98, 109, 61, 188, 198, 45, 61, 0, 0, 0, 49, 46, 229, 47, 101, 185, 162, 163, 243, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 254, 255, 255, 255, 190, 181, 223, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 110, 214, 161, 196, 168, 180, 128, 154, 221, 103, 178, 61, 222, 5, 79, 61, 0, 155, 192, 187, 64, 210, 116, 191, 254, 180, 175, 154, 9, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 189, 209, 66, 163, 133, 139, 78, 113, 245, 39, 19, 170, 61, 204, 214, 99, 61, 0, 0, 0, 128, 67, 184, 186, 199, 175, 199, 225, 163, 155, 213, 84, 61, 227, 1, 229, 60, 0, 0, 128, 48, 131, 209, 131, 81, 230, 182, 39, 235, 125, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 189, 25, 74, 50, 148, 69, 80, 149, 251, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 59, 80, 176, 157, 189, 156, 199, 228, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 255, 127, 255, 127, 95, 199, 175, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 80, 172, 23, 184, 43, 199, 200, 163, 78, 199, 45, 61, 168, 107, 126, 60, 0, 0, 0, 49, 123, 192, 124, 64, 2, 196, 116, 226, 140, 244, 9, 61, 196, 124, 249, 60, 140, 244, 9, 189, 99, 82, 199, 164, 35, 185, 109, 253, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 246, 83, 164, 71, 127, 199, 93, 164, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 60, 255, 127, 255, 127, 75, 198, 37, 163, 143, 194, 245, 60, 240, 100, 196, 59, 0, 0, 0, 176, 124, 175, 125, 47, 121, 212, 27, 219, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 59, 193, 79, 183, 66, 84, 199, 8, 164, 173, 71, 225, 60, 96, 44, 156, 60, 172, 71, 225, 188, 69, 90, 139, 180, 129, 202, 103, 248, 135, 175, 163, 61, 70, 170, 80, 61, 217, 185, 180, 33, 164, 71, 90, 56, 143, 199, 218, 163, 183, 75, 164, 61, 0, 127, 82, 61, 0, 155, 192, 187, 72, 61, 61, 48, 252, 199, 176, 163, 241, 109, 126, 60, 0, 0, 19, 181, 0, 0, 64, 48, 176, 150, 176, 22, 81, 235, 2, 208, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 90, 56, 8, 44, 195, 200, 189, 163, 159, 228, 165, 61, 32, 74, 87, 61, 51, 210, 27, 188, 254, 255, 255, 255, 98, 198, 49, 163, 9, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 188, 228, 98, 200, 197, 82, 218, 31, 244, 204, 98, 109, 61, 57, 98, 109, 61, 241, 109, 126, 60, 216, 223, 135, 121, 1, 168, 109, 249, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 254, 255, 255, 255, 137, 199, 196, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 230, 199, 173, 211, 140, 199, 162, 163, 154, 234, 36, 60, 72, 61, 158, 59, 153, 234, 36, 188, 225, 109, 195, 219, 228, 234, 219, 240, 247, 118, 169, 61, 19, 2, 98, 61, 0, 155, 192, 187, 96, 194, 173, 207, 192, 199, 219, 163, 93, 200, 158, 61, 25, 169, 112, 61, 0, 0, 0, 128, 63, 163, 191, 220, 126, 220, 107, 174, 20, 76, 101, 61, 188, 198, 45, 61, 144, 194, 117, 60, 253, 210, 58, 105, 26, 181, 72, 242, 14, 149, 77, 61, 227, 1, 229, 60, 167, 87, 92, 60, 224, 196, 85, 87, 208, 191, 79, 234, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 59, 217, 157, 139, 206, 58, 219, 115, 174, 112, 219, 39, 61, 168, 107, 126, 60, 168, 232, 51, 60, 243, 183, 241, 70, 246, 201, 116, 226, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 255, 127, 255, 127, 83, 219, 169, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 13, 155, 47, 199, 169, 218, 88, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 241, 100, 207, 56, 184, 220, 100, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 60, 255, 127, 255, 127, 73, 219, 164, 173, 204, 98, 237, 60, 240, 100, 196, 59, 241, 109, 254, 59, 86, 170, 175, 53, 162, 215, 205, 218, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 59, 70, 98, 202, 49, 191, 220, 93, 174, 142, 194, 117, 60, 0, 0, 19, 181, 208, 179, 131, 59, 19, 149, 185, 26, 158, 236, 206, 207, 229, 166, 154, 61, 30, 236, 90, 61, 217, 185, 180, 33, 191, 92, 63, 35, 183, 220, 96, 174, 35, 25, 67, 61, 57, 98, 109, 61, 172, 71, 225, 188, 139, 50, 212, 133, 27, 62, 107, 245, 224, 11, 155, 61, 134, 255, 92, 61, 0, 155, 192, 187, 53, 78, 184, 29, 90, 220, 100, 174, 155, 213, 84, 61, 57, 98, 109, 61, 142, 194, 245, 60, 115, 205, 42, 122, 153, 189, 35, 243, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 48, 71, 13, 27, 30, 220, 93, 174, 62, 20, 156, 61, 196, 110, 98, 61, 51, 210, 27, 188, 255, 255, 255, 255, 128, 218, 64, 173, 76, 115, 60, 61, 178, 19, 51, 61, 142, 154, 217, 188, 8, 60, 203, 148, 206, 62, 40, 250, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 255, 255, 255, 255, 146, 218, 72, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 206, 184, 241, 228, 177, 220, 91, 173, 13, 149, 77, 61, 188, 198, 45, 61, 204, 98, 237, 60, 246, 195, 51, 107, 7, 197, 164, 237, 98, 99, 158, 61, 176, 149, 110, 61, 0, 155, 192, 187, 115, 177, 37, 226, 222, 220, 199, 173, 235, 81, 56, 61, 227, 1, 229, 60, 156, 213, 212, 60, 63, 185, 77, 90, 123, 202, 49, 231, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 99, 135, 154, 248, 37, 248, 80, 188, 194, 245, 40, 61, 196, 124, 249, 60, 36, 25, 195, 188, 191, 70, 177, 165, 105, 195, 217, 254, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 59, 21, 134, 6, 227, 222, 242, 229, 187, 139, 244, 9, 61, 96, 44, 156, 60, 7, 76, 159, 188, 216, 80, 159, 181, 144, 209, 60, 249, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 255, 127, 255, 127, 221, 241, 238, 184, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 30, 133, 158, 216, 249, 240, 140, 187, 34, 127, 22, 61, 168, 107, 126, 60, 79, 199, 173, 60, 38, 175, 95, 74, 84, 210, 119, 224, 35, 25, 195, 60, 84, 36, 41, 60, 172, 71, 97, 188, 201, 91, 225, 198, 228, 222, 39, 244, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 108, 122, 184, 39, 160, 247, 141, 186, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 60, 255, 127, 255, 127, 75, 243, 165, 185, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 59, 30, 122, 77, 29, 140, 248, 133, 187, 155, 213, 212, 60, 240, 100, 196, 59, 142, 194, 117, 60, 53, 164, 29, 57, 174, 220, 30, 217, 3, 251, 73, 60, 72, 61, 158, 59, 29, 58, 233, 187, 152, 105, 168, 220, 148, 237, 191, 240, 1, 126, 144, 61, 250, 64, 95, 61, 217, 185, 180, 33, 194, 120, 60, 7, 135, 248, 98, 188, 229, 164, 144, 61, 219, 110, 97, 61, 0, 155, 192, 187, 178, 98, 224, 5, 203, 246, 65, 188, 165, 87, 92, 60, 0, 0, 19, 181, 242, 109, 254, 59, 115, 146, 27, 29, 13, 239, 227, 206, 80, 199, 45, 61, 57, 98, 109, 61, 79, 199, 45, 61, 45, 189, 91, 122, 232, 207, 233, 234, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 70, 88, 147, 5, 47, 245, 210, 187, 180, 10, 145, 61, 104, 35, 103, 61, 51, 210, 27, 188, 254, 255, 255, 255, 179, 243, 217, 185, 112, 219, 39, 61, 188, 198, 45, 61, 113, 219, 39, 61, 229, 181, 204, 107, 94, 211, 248, 230, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 254, 255, 255, 255, 77, 242, 38, 185, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 95, 167, 223, 250, 69, 247, 216, 184, 92, 238, 145, 61, 76, 229, 115, 61, 0, 155, 192, 187, 248, 156, 232, 249, 233, 247, 219, 185, 36, 127, 22, 61, 227, 1, 229, 60, 36, 127, 22, 61, 155, 173, 55, 91, 66, 214, 4, 226, 95, 215, 132, 61, 146, 182, 115, 61, 0, 0, 0, 128, 224, 103, 224, 231, 92, 232, 26, 205, 138, 194, 245, 60, 168, 107, 126, 60, 142, 194, 245, 60, 185, 165, 115, 75, 125, 219, 105, 220, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 59, 177, 107, 143, 215, 111, 227, 180, 202, 80, 199, 173, 60, 240, 100, 196, 59, 79, 199, 173, 60, 26, 157, 54, 58, 123, 227, 8, 214, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 55, 109, 234, 206, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 255, 127, 255, 127, 176, 244, 166, 197, 166, 232, 51, 60, 0, 0, 19, 181, 167, 232, 51, 60, 241, 142, 228, 29, 133, 242, 65, 205, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 255, 127, 255, 127, 28, 243, 112, 198, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 60, 45, 146, 160, 48, 20, 234, 230, 204, 144, 154, 89, 61, 57, 98, 109, 61, 25, 58, 105, 188, 38, 32, 119, 134, 229, 47, 206, 248, 144, 194, 245, 60, 57, 98, 109, 61, 155, 213, 84, 61, 182, 172, 42, 122, 220, 223, 215, 224, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 59, 116, 148, 246, 40, 182, 232, 13, 205, 26, 230, 133, 61, 76, 93, 93, 61, 217, 185, 180, 33, 78, 152, 79, 24, 134, 231, 33, 204, 103, 48, 82, 61, 178, 19, 51, 61, 169, 71, 97, 188, 1, 45, 196, 150, 10, 49, 245, 252, 64, 204, 133, 61, 160, 127, 95, 61, 0, 155, 192, 187, 245, 168, 117, 20, 198, 229, 154, 203, 200, 98, 237, 60, 188, 198, 45, 61, 12, 149, 77, 61, 60, 167, 51, 107, 146, 225, 29, 222, 76, 115, 60, 61, 196, 124, 249, 60, 4, 251, 73, 188, 30, 59, 169, 168, 174, 210, 219, 252, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 254, 255, 255, 255, 204, 242, 152, 198, 145, 136, 133, 61, 242, 21, 101, 61, 51, 210, 27, 188, 160, 176, 46, 18, 55, 230, 247, 202, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 234, 78, 55, 237, 187, 236, 242, 206, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 254, 255, 255, 255, 129, 244, 189, 197, 124, 222, 25, 61, 96, 44, 156, 60, 150, 234, 36, 188, 11, 72, 13, 185, 235, 219, 177, 247, 57, 241, 132, 61, 61, 148, 113, 61, 0, 155, 192, 187, 144, 87, 177, 235, 130, 235, 13, 207, 154, 213, 212, 60, 227, 1, 229, 60, 235, 81, 56, 61, 13, 161, 77, 90, 20, 227, 141, 218, 144, 154, 217, 60, 84, 36, 41, 60, 25, 58, 233, 187, 168, 85, 79, 202, 240, 229, 106, 243, 75, 199, 173, 60, 168, 107, 126, 60, 35, 127, 22, 61, 56, 155, 95, 74, 135, 230, 80, 214, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 8, 92, 78, 193, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 255, 127, 255, 127, 134, 230, 187, 204, 144, 194, 117, 60, 240, 100, 196, 59, 155, 213, 212, 60, 231, 148, 29, 57, 59, 236, 108, 209, 173, 71, 97, 60, 72, 61, 158, 59, 80, 116, 113, 187, 70, 102, 97, 223, 150, 241, 74, 240, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 255, 127, 255, 127, 241, 230, 133, 204, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 60, 115, 163, 67, 62, 32, 215, 169, 215, 238, 109, 254, 59, 0, 0, 19, 181, 166, 87, 92, 60, 166, 138, 27, 29, 246, 246, 240, 202, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 59, 240, 166, 205, 56, 95, 213, 220, 215, 244, 109, 126, 60, 57, 98, 109, 61, 204, 98, 109, 61, 174, 153, 135, 121, 137, 241, 214, 210, 253, 47, 119, 61, 6, 98, 85, 61, 217, 185, 180, 33, 54, 173, 54, 45, 202, 210, 156, 214, 83, 126, 118, 61, 148, 83, 87, 61, 0, 155, 192, 187, 204, 184, 241, 38, 110, 208, 101, 213, 137, 194, 117, 60, 188, 198, 45, 61, 18, 76, 101, 61, 60, 150, 58, 105, 165, 242, 87, 209, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 255, 255, 0, 0, 69, 232, 220, 203, 50, 173, 116, 61, 49, 106, 92, 61, 51, 210, 27, 188, 66, 190, 116, 35, 204, 208, 138, 212, 165, 87, 92, 60, 227, 1, 229, 60, 14, 149, 77, 61, 116, 146, 85, 87, 70, 243, 147, 207, 160, 232, 51, 60, 168, 107, 126, 60, 111, 219, 39, 61, 253, 142, 241, 70, 226, 244, 111, 205, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 79, 65, 8, 220, 177, 222, 118, 218, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 255, 255, 0, 0, 135, 231, 58, 204, 173, 71, 97, 61, 57, 98, 109, 61, 0, 0, 128, 49, 213, 7, 212, 135, 195, 220, 217, 254, 244, 109, 254, 59, 240, 100, 196, 59, 204, 98, 237, 60, 87, 139, 175, 53, 142, 247, 2, 203, 143, 154, 89, 61, 178, 19, 51, 61, 0, 0, 64, 49, 208, 26, 207, 154, 218, 222, 154, 251, 204, 179, 131, 59, 0, 0, 19, 181, 142, 194, 117, 60, 165, 133, 185, 26, 82, 252, 3, 200, 0, 0, 0, 49, 57, 98, 109, 61, 143, 194, 117, 61, 255, 127, 42, 120, 60, 243, 51, 185, 0, 0, 64, 177, 188, 198, 45, 61, 201, 98, 109, 61, 255, 127, 47, 101, 73, 243, 245, 183, 7, 76, 31, 61, 96, 44, 156, 60, 0, 0, 0, 49, 131, 63, 130, 191, 200, 232, 144, 244, 0, 0, 128, 176, 227, 1, 229, 60, 155, 213, 84, 61, 255, 127, 131, 81, 253, 244, 90, 183, 173, 71, 225, 60, 84, 36, 41, 60, 0, 0, 0, 49, 130, 80, 129, 208, 245, 238, 141, 241, 28, 58, 105, 60, 72, 61, 158, 59, 0, 0, 128, 47, 15, 100, 15, 228, 171, 246, 76, 239, 0, 0, 160, 177, 168, 107, 126, 60, 77, 199, 45, 61, 255, 127, 124, 64, 69, 247, 86, 183, 0, 0, 128, 48, 240, 100, 196, 59, 143, 194, 245, 60, 255, 127, 125, 47, 242, 249, 216, 183, 0, 0, 192, 176, 0, 0, 19, 181, 240, 109, 126, 60, 255, 127, 176, 22, 142, 253, 28, 185, 240, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 61, 80, 102, 135, 121, 28, 206, 120, 176, 143, 194, 117, 188, 188, 198, 45, 61, 18, 76, 101, 61, 194, 105, 58, 105, 169, 210, 5, 176, 167, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 61, 138, 109, 85, 87, 253, 218, 150, 176, 143, 154, 89, 61, 57, 98, 109, 61, 33, 58, 105, 60, 119, 6, 38, 160, 60, 245, 82, 243, 169, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 61, 1, 113, 241, 70, 241, 228, 25, 178, 103, 48, 82, 61, 178, 19, 51, 61, 175, 71, 97, 60, 196, 22, 0, 173, 167, 245, 114, 242, 240, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 60, 167, 116, 175, 53, 202, 236, 72, 179, 76, 115, 60, 61, 196, 124, 249, 60, 2, 251, 73, 60, 169, 40, 29, 187, 160, 246, 71, 241, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 89, 122, 185, 26, 205, 247, 240, 182, 123, 222, 25, 61, 96, 44, 156, 60, 153, 234, 36, 60, 13, 57, 11, 200, 63, 248, 44, 240, 142, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 61, 72, 83, 42, 122, 27, 183, 202, 169, 202, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 61, 194, 88, 51, 107, 1, 189, 28, 169, 143, 154, 217, 60, 84, 36, 41, 60, 33, 58, 233, 59, 79, 74, 167, 213, 29, 250, 5, 239, 156, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 61, 241, 94, 77, 90, 141, 199, 216, 169, 172, 71, 97, 60, 72, 61, 158, 59, 81, 116, 113, 59, 98, 95, 69, 230, 184, 252, 7, 238, 79, 199, 173, 188, 168, 107, 126, 60, 34, 127, 22, 61, 198, 100, 95, 74, 157, 212, 15, 172, 142, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 60, 23, 107, 29, 57, 46, 226, 25, 175, 242, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 60, 88, 117, 27, 29, 230, 242, 229, 180, 79, 199, 45, 189, 57, 98, 109, 61, 80, 199, 45, 61, 209, 66, 91, 122, 105, 165, 182, 162, 112, 219, 39, 189, 188, 198, 45, 61, 110, 219, 39, 61, 25, 74, 204, 107, 75, 173, 22, 162, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 61, 99, 82, 55, 91, 133, 186, 180, 163, 34, 25, 67, 61, 57, 98, 109, 61, 174, 71, 225, 60, 212, 5, 139, 178, 42, 243, 196, 148, 142, 194, 245, 188, 168, 107, 126, 60, 138, 194, 245, 60, 69, 90, 115, 75, 221, 201, 225, 166, 75, 115, 60, 61, 178, 19, 51, 61, 144, 154, 217, 60, 203, 20, 8, 188, 230, 243, 9, 148, 79, 199, 173, 188, 240, 100, 196, 59, 80, 199, 173, 60, 228, 98, 54, 58, 82, 218, 80, 171, 193, 245, 40, 61, 196, 124, 249, 60, 34, 25, 195, 60, 178, 37, 191, 198, 92, 244, 221, 146, 167, 232, 51, 188, 0, 0, 19, 181, 165, 232, 51, 60, 13, 113, 228, 29, 18, 239, 13, 179, 137, 244, 9, 61, 96, 44, 156, 60, 8, 76, 159, 60, 159, 53, 216, 208, 76, 246, 39, 146, 34, 25, 195, 60, 84, 36, 41, 60, 174, 71, 97, 60, 225, 70, 201, 219, 86, 249, 18, 146, 155, 213, 84, 189, 57, 98, 109, 61, 144, 194, 245, 60, 139, 50, 42, 122, 135, 150, 204, 153, 1, 251, 73, 60, 72, 61, 158, 59, 28, 58, 233, 59, 168, 92, 151, 233, 153, 252, 90, 146, 11, 149, 77, 189, 188, 198, 45, 61, 199, 98, 237, 60, 8, 60, 51, 107, 188, 161, 227, 153, 235, 81, 56, 189, 227, 1, 229, 60, 154, 213, 212, 60, 191, 70, 77, 90, 101, 178, 128, 157, 35, 127, 22, 189, 168, 107, 126, 60, 75, 199, 173, 60, 216, 80, 95, 74, 228, 195, 90, 162, 155, 213, 212, 188, 240, 100, 196, 59, 144, 194, 117, 60, 201, 91, 29, 57, 115, 213, 39, 168, 165, 87, 92, 188, 0, 0, 19, 181, 236, 109, 254, 59, 139, 109, 27, 29, 126, 236, 135, 177, 0, 0, 0, 0, 0, 0, 97, 181, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 21, 198, 204, 98, 109, 189, 57, 98, 109, 61, 244, 109, 126, 60, 38, 32, 135, 121, 59, 139, 251, 141, 7, 76, 31, 61, 57, 98, 109, 61, 8, 76, 31, 61, 163, 5, 209, 194, 191, 224, 119, 151, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 60, 54, 208, 101, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 255, 127, 255, 127, 135, 75, 195, 229, 17, 76, 101, 189, 188, 198, 45, 61, 136, 194, 117, 60, 1, 45, 58, 105, 135, 155, 64, 144, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 255, 127, 255, 127, 234, 74, 116, 229, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 69, 201, 186, 154, 180, 93, 169, 235, 123, 222, 25, 61, 178, 19, 51, 61, 124, 222, 25, 61, 50, 20, 24, 202, 193, 225, 154, 149, 14, 149, 77, 189, 227, 1, 229, 60, 165, 87, 92, 60, 30, 59, 85, 87, 236, 175, 131, 151, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 59, 102, 208, 203, 156, 174, 94, 243, 236, 31, 116, 72, 61, 114, 211, 180, 60, 217, 185, 180, 33, 49, 222, 204, 161, 222, 93, 39, 239, 139, 244, 9, 61, 196, 124, 249, 60, 139, 244, 9, 61, 199, 36, 99, 210, 82, 228, 127, 147, 216, 164, 70, 61, 130, 215, 178, 60, 0, 155, 192, 187, 50, 227, 151, 175, 143, 89, 90, 239, 111, 219, 39, 189, 168, 107, 126, 60, 160, 232, 51, 60, 11, 72, 241, 70, 102, 194, 190, 158, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 255, 255, 255, 255, 231, 75, 243, 229, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 188, 68, 229, 185, 182, 74, 87, 217, 238, 168, 71, 225, 60, 96, 44, 156, 60, 171, 71, 225, 60, 140, 52, 69, 218, 224, 232, 43, 146, 204, 98, 237, 188, 240, 100, 196, 59, 244, 109, 254, 59, 168, 85, 175, 53, 153, 211, 235, 165, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 46, 26, 194, 73, 30, 94, 202, 229, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 255, 255, 255, 255, 69, 76, 33, 230, 7, 76, 159, 60, 84, 36, 41, 60, 8, 76, 159, 60, 200, 69, 227, 226, 6, 239, 149, 145, 141, 194, 117, 188, 0, 0, 19, 181, 202, 179, 131, 59, 235, 106, 185, 26, 63, 235, 117, 176, 225, 34, 66, 61, 140, 209, 93, 60, 0, 0, 0, 128, 18, 53, 237, 74, 137, 74, 153, 229, 151, 234, 36, 60, 72, 61, 158, 59, 152, 234, 36, 60, 195, 91, 225, 237, 159, 246, 200, 145, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 59, 117, 63, 65, 82, 171, 69, 87, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 161, 68, 111, 86, 190, 66, 91, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 255, 127, 255, 127, 184, 66, 91, 225, 143, 194, 117, 189, 57, 98, 109, 61, 0, 0, 0, 49, 213, 7, 42, 120, 173, 143, 168, 131, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 255, 127, 255, 127, 196, 67, 225, 225, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 237, 186, 0, 170, 55, 75, 247, 227, 200, 98, 109, 189, 188, 198, 45, 61, 0, 0, 64, 177, 208, 26, 47, 101, 183, 165, 245, 139, 155, 213, 84, 189, 227, 1, 229, 60, 0, 0, 128, 176, 123, 46, 131, 81, 62, 182, 6, 149, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 59, 125, 192, 106, 173, 191, 75, 147, 228, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 16, 203, 237, 180, 35, 75, 123, 229, 77, 199, 45, 189, 168, 107, 126, 60, 0, 0, 160, 177, 131, 63, 124, 64, 40, 197, 249, 156, 143, 194, 245, 188, 240, 100, 196, 59, 0, 0, 128, 48, 130, 80, 125, 47, 127, 212, 222, 164, 2, 254, 80, 61, 178, 151, 138, 60, 0, 155, 192, 187, 148, 210, 129, 191, 70, 73, 218, 229, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 254, 255, 0, 0, 146, 67, 200, 225, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 253, 213, 16, 197, 231, 71, 155, 229, 170, 71, 225, 60, 57, 98, 109, 61, 34, 25, 67, 61, 212, 5, 71, 211, 161, 208, 109, 152, 239, 109, 126, 188, 0, 0, 19, 181, 0, 0, 0, 177, 78, 105, 176, 22, 83, 235, 247, 175, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 143, 41, 93, 59, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 254, 255, 0, 0, 152, 66, 75, 225, 98, 180, 67, 61, 236, 169, 99, 60, 0, 155, 192, 187, 190, 45, 138, 64, 121, 76, 39, 227, 140, 154, 217, 60, 178, 19, 51, 61, 75, 115, 60, 61, 203, 20, 193, 216, 145, 211, 46, 150, 204, 98, 109, 189, 57, 98, 109, 61, 240, 109, 126, 188, 119, 6, 216, 95, 191, 169, 180, 134, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 187, 71, 68, 56, 119, 56, 13, 220, 34, 25, 195, 60, 196, 124, 249, 60, 193, 245, 40, 61, 178, 37, 241, 222, 21, 216, 151, 147, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 59, 174, 79, 97, 66, 92, 54, 191, 220, 17, 76, 101, 189, 188, 198, 45, 61, 142, 194, 117, 188, 196, 22, 254, 82, 70, 182, 181, 141, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 174, 83, 231, 71, 123, 53, 214, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 255, 127, 255, 127, 147, 52, 72, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 255, 127, 255, 127, 118, 53, 186, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 60, 8, 172, 90, 184, 174, 56, 102, 219, 4, 76, 159, 60, 96, 44, 156, 60, 138, 244, 9, 61, 159, 53, 198, 228, 91, 222, 200, 145, 14, 149, 77, 189, 227, 1, 229, 60, 167, 87, 92, 188, 169, 40, 225, 68, 40, 192, 163, 149, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 59, 61, 176, 71, 189, 227, 56, 202, 219, 170, 71, 97, 60, 84, 36, 41, 60, 34, 25, 195, 60, 225, 70, 23, 235, 172, 230, 212, 144, 12, 37, 97, 61, 80, 24, 93, 60, 217, 185, 180, 33, 90, 184, 164, 199, 117, 56, 34, 220, 172, 236, 95, 61, 108, 197, 85, 60, 0, 155, 192, 187, 182, 194, 193, 207, 175, 55, 104, 220, 111, 219, 39, 189, 168, 107, 126, 60, 169, 232, 51, 188, 13, 57, 243, 55, 247, 202, 61, 157, 204, 98, 237, 188, 240, 100, 196, 59, 240, 109, 254, 187, 79, 74, 87, 42, 184, 215, 36, 165, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 254, 255, 0, 0, 57, 53, 156, 218, 220, 186, 92, 61, 236, 152, 66, 60, 51, 210, 27, 188, 164, 199, 246, 211, 197, 54, 88, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 24, 56, 81, 44, 206, 57, 149, 218, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 254, 255, 0, 0, 78, 52, 38, 218, 26, 58, 233, 59, 72, 61, 158, 59, 2, 251, 73, 60, 168, 92, 15, 243, 162, 241, 49, 145, 139, 194, 117, 188, 0, 0, 19, 181, 210, 179, 131, 187, 69, 101, 19, 21, 165, 236, 35, 176, 45, 150, 85, 61, 28, 185, 23, 60, 0, 155, 192, 187, 158, 61, 81, 48, 184, 57, 2, 219, 100, 243, 106, 61, 8, 58, 186, 59, 0, 0, 0, 128, 191, 92, 63, 35, 127, 35, 146, 209, 155, 213, 84, 189, 57, 98, 109, 61, 142, 194, 245, 188, 212, 5, 115, 77, 210, 191, 53, 141, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 59, 37, 98, 115, 49, 171, 34, 247, 209, 10, 149, 77, 189, 188, 198, 45, 61, 202, 98, 237, 188, 203, 20, 246, 67, 33, 198, 114, 146, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 241, 100, 207, 56, 33, 34, 7, 210, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 255, 127, 255, 127, 19, 33, 137, 208, 235, 81, 56, 189, 227, 1, 229, 60, 156, 213, 212, 188, 178, 37, 63, 57, 102, 203, 198, 152, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 255, 127, 255, 127, 1, 33, 128, 208, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 60, 13, 155, 47, 199, 129, 35, 113, 209, 34, 127, 22, 189, 168, 107, 126, 60, 79, 199, 173, 188, 159, 53, 38, 47, 194, 210, 115, 159, 24, 58, 105, 60, 57, 98, 109, 61, 142, 154, 89, 61, 119, 6, 80, 230, 203, 189, 155, 150, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 59, 184, 157, 52, 206, 123, 35, 133, 209, 82, 54, 115, 61, 244, 16, 52, 60, 217, 185, 180, 33, 63, 163, 191, 220, 71, 35, 157, 209, 155, 213, 212, 188, 240, 100, 196, 59, 142, 194, 117, 188, 225, 70, 53, 36, 223, 220, 202, 166, 93, 108, 114, 61, 80, 195, 43, 60, 0, 155, 192, 187, 201, 177, 70, 226, 61, 35, 160, 209, 162, 87, 92, 188, 0, 0, 19, 181, 242, 109, 254, 187, 228, 98, 116, 18, 27, 239, 6, 177, 166, 71, 97, 60, 178, 19, 51, 61, 102, 48, 82, 61, 196, 22, 194, 233, 128, 195, 18, 148, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 254, 255, 0, 0, 212, 33, 233, 208, 162, 91, 112, 61, 84, 6, 22, 60, 51, 210, 27, 188, 206, 184, 241, 228, 80, 35, 159, 209, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 48, 71, 13, 27, 20, 36, 12, 209, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 254, 255, 0, 0, 222, 33, 238, 208, 80, 199, 45, 189, 57, 98, 109, 61, 79, 199, 45, 189, 163, 5, 45, 61, 165, 209, 122, 149, 1, 251, 73, 60, 196, 124, 249, 60, 75, 115, 60, 61, 169, 40, 138, 237, 164, 203, 163, 145, 89, 189, 107, 61, 72, 213, 202, 59, 0, 155, 192, 187, 139, 78, 217, 29, 34, 36, 63, 209, 109, 219, 39, 189, 188, 198, 45, 61, 111, 219, 39, 189, 50, 20, 230, 53, 150, 212, 54, 153, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 155, 120, 100, 7, 123, 7, 176, 195, 145, 234, 36, 60, 96, 44, 156, 60, 122, 222, 25, 61, 13, 57, 0, 241, 242, 212, 48, 144, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 59, 233, 121, 248, 28, 103, 7, 182, 195, 36, 127, 22, 189, 227, 1, 229, 60, 36, 127, 22, 189, 199, 36, 155, 45, 46, 215, 5, 158, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 224, 122, 96, 39, 218, 6, 151, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 255, 127, 255, 127, 24, 7, 139, 195, 24, 58, 233, 59, 84, 36, 41, 60, 142, 154, 217, 60, 79, 74, 166, 244, 6, 224, 188, 143, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 255, 127, 255, 127, 5, 5, 130, 194, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 60, 146, 133, 70, 216, 29, 8, 228, 196, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 59, 224, 133, 177, 226, 84, 7, 16, 196, 138, 194, 245, 188, 168, 107, 126, 60, 142, 194, 245, 188, 140, 52, 185, 37, 15, 220, 134, 163, 75, 116, 113, 59, 72, 61, 158, 59, 172, 71, 97, 60, 98, 95, 26, 249, 188, 237, 145, 144, 12, 196, 131, 61, 132, 189, 34, 60, 217, 185, 180, 33, 60, 135, 194, 248, 108, 7, 156, 195, 80, 199, 173, 188, 240, 100, 196, 59, 79, 199, 173, 188, 200, 69, 27, 29, 199, 227, 218, 169, 40, 157, 131, 61, 252, 5, 26, 60, 0, 155, 192, 187, 76, 157, 30, 250, 85, 8, 173, 195, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 254, 255, 0, 0, 219, 4, 108, 194, 89, 55, 131, 61, 204, 51, 3, 60, 51, 210, 27, 188, 184, 167, 107, 250, 184, 9, 11, 196, 163, 232, 51, 188, 0, 0, 19, 181, 166, 232, 51, 188, 26, 98, 242, 14, 154, 242, 160, 178, 144, 194, 245, 188, 57, 98, 109, 61, 155, 213, 84, 189, 212, 5, 183, 44, 119, 225, 159, 159, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 159, 88, 31, 5, 71, 7, 100, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 254, 255, 0, 0, 207, 6, 102, 195, 198, 98, 237, 188, 188, 198, 45, 61, 11, 149, 77, 189, 203, 20, 61, 39, 221, 226, 41, 162, 177, 83, 130, 61, 120, 88, 160, 59, 0, 155, 192, 187, 6, 99, 22, 6, 143, 7, 172, 195, 154, 213, 212, 188, 227, 1, 229, 60, 235, 81, 56, 189, 178, 37, 13, 33, 27, 228, 141, 165, 176, 106, 143, 61, 56, 206, 161, 59, 0, 0, 0, 128, 30, 152, 30, 24, 42, 24, 241, 179, 0, 0, 64, 177, 57, 98, 109, 61, 171, 71, 97, 61, 41, 248, 255, 255, 220, 167, 14, 145, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 59, 77, 148, 111, 40, 95, 24, 8, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 255, 127, 255, 127, 47, 23, 103, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 199, 146, 20, 49, 208, 24, 204, 179, 75, 199, 173, 188, 168, 107, 126, 60, 35, 127, 22, 189, 159, 53, 56, 27, 58, 231, 166, 169, 144, 194, 117, 188, 240, 100, 196, 59, 155, 213, 212, 188, 225, 70, 231, 20, 157, 236, 116, 174, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 209, 109, 94, 207, 169, 22, 120, 179, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 60, 255, 127, 255, 127, 146, 25, 53, 179, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 59, 138, 107, 8, 215, 193, 23, 83, 179, 0, 0, 160, 177, 178, 19, 51, 61, 141, 154, 89, 61, 46, 229, 254, 255, 131, 178, 253, 142, 233, 109, 254, 187, 0, 0, 19, 181, 164, 87, 92, 188, 228, 98, 167, 10, 16, 247, 233, 180, 244, 91, 142, 61, 60, 76, 42, 60, 217, 185, 180, 33, 176, 103, 175, 231, 90, 24, 217, 179, 206, 117, 142, 61, 232, 194, 33, 60, 0, 155, 192, 187, 9, 87, 137, 235, 95, 25, 32, 180, 0, 0, 128, 176, 196, 124, 249, 60, 33, 25, 67, 61, 131, 209, 254, 255, 207, 193, 44, 143, 244, 109, 126, 188, 57, 98, 109, 61, 204, 98, 109, 189, 119, 6, 174, 25, 110, 243, 218, 173, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 94, 79, 208, 237, 6, 25, 166, 180, 125, 185, 142, 61, 160, 105, 11, 60, 51, 210, 27, 188, 255, 255, 255, 255, 141, 25, 56, 179, 0, 0, 160, 177, 96, 44, 156, 60, 5, 76, 31, 61, 123, 192, 254, 255, 128, 205, 226, 141, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 255, 255, 255, 255, 86, 23, 83, 180, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 20, 177, 199, 18, 113, 24, 157, 179, 213, 80, 143, 61, 232, 224, 178, 59, 0, 155, 192, 187, 110, 168, 77, 20, 247, 23, 216, 179, 134, 194, 117, 188, 188, 198, 45, 61, 17, 76, 101, 189, 196, 22, 60, 22, 62, 244, 27, 175, 79, 76, 156, 61, 216, 158, 241, 59, 0, 0, 0, 128, 15, 173, 16, 45, 15, 45, 118, 169, 0, 0, 192, 176, 84, 36, 41, 60, 171, 71, 225, 60, 124, 175, 255, 255, 44, 219, 95, 142, 165, 87, 92, 188, 227, 1, 229, 60, 14, 149, 77, 189, 169, 40, 116, 18, 134, 244, 158, 176, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 59, 220, 166, 107, 56, 73, 45, 155, 169, 0, 0, 160, 176, 72, 61, 158, 59, 27, 58, 105, 60, 15, 100, 255, 255, 5, 235, 241, 143, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 255, 127, 255, 127, 253, 43, 0, 170, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 246, 163, 176, 62, 171, 45, 114, 169, 160, 232, 51, 188, 168, 107, 126, 60, 111, 219, 39, 189, 13, 57, 254, 14, 186, 245, 141, 178, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 139, 92, 187, 193, 129, 43, 39, 169, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 60, 255, 127, 255, 127, 253, 45, 0, 169, 244, 109, 254, 187, 240, 100, 196, 59, 204, 98, 237, 188, 79, 74, 88, 11, 2, 248, 217, 180, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 59, 14, 89, 49, 199, 120, 44, 255, 168, 200, 179, 131, 187, 0, 0, 19, 181, 140, 194, 117, 188, 69, 101, 165, 5, 112, 252, 207, 183, 13, 170, 152, 61, 72, 57, 74, 60, 217, 185, 180, 33, 200, 82, 200, 210, 53, 45, 98, 169, 0, 0, 0, 177, 57, 98, 109, 61, 143, 194, 117, 189, 213, 7, 0, 0, 49, 241, 225, 199, 226, 2, 153, 61, 16, 115, 66, 60, 0, 155, 192, 187, 50, 71, 13, 217, 251, 45, 193, 169, 0, 0, 160, 49, 168, 107, 126, 60, 77, 199, 45, 189, 131, 63, 0, 0, 128, 246, 106, 201, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 188, 65, 138, 220, 168, 45, 56, 170, 115, 235, 153, 61, 156, 24, 46, 60, 51, 210, 27, 188, 255, 255, 255, 255, 254, 45, 0, 169, 30, 58, 105, 188, 57, 98, 109, 61, 142, 154, 89, 61, 135, 249, 80, 230, 145, 144, 45, 134, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 255, 255, 255, 255, 35, 44, 237, 169, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 188, 175, 190, 246, 35, 27, 45, 41, 169, 0, 0, 128, 176, 240, 100, 196, 59, 143, 194, 245, 188, 130, 80, 0, 0, 141, 249, 174, 200, 122, 243, 155, 61, 164, 149, 0, 60, 0, 155, 192, 187, 106, 184, 220, 38, 200, 44, 90, 169, 0, 0, 48, 49, 0, 0, 19, 181, 238, 109, 126, 188, 78, 105, 0, 0, 116, 253, 41, 199, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 141, 189, 142, 61, 138, 61, 53, 161, 175, 71, 97, 188, 178, 19, 51, 61, 101, 48, 82, 61, 58, 233, 194, 233, 248, 164, 49, 136, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 59, 164, 181, 16, 70, 169, 61, 85, 161, 2, 251, 73, 188, 196, 124, 249, 60, 74, 115, 60, 61, 85, 215, 138, 237, 184, 185, 22, 139, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 255, 127, 255, 127, 207, 60, 151, 161, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 60, 178, 177, 210, 74, 237, 61, 52, 161, 154, 234, 36, 188, 96, 44, 156, 60, 121, 222, 25, 61, 241, 198, 0, 241, 41, 201, 200, 139, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 168, 78, 131, 181, 39, 60, 15, 161, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 60, 255, 127, 255, 127, 76, 62, 217, 160, 30, 58, 233, 187, 84, 36, 41, 60, 142, 154, 217, 60, 175, 181, 166, 244, 107, 216, 243, 140, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 59, 89, 74, 168, 185, 237, 60, 237, 160, 84, 116, 113, 187, 72, 61, 158, 59, 171, 71, 97, 60, 156, 160, 26, 249, 153, 233, 101, 143, 148, 250, 161, 61, 218, 43, 128, 60, 217, 185, 180, 33, 85, 66, 84, 194, 163, 61, 38, 161, 172, 71, 225, 188, 57, 98, 109, 61, 33, 25, 67, 61, 42, 250, 71, 211, 219, 100, 49, 134, 86, 140, 162, 61, 60, 220, 121, 60, 0, 155, 192, 187, 168, 57, 88, 202, 30, 62, 131, 161, 143, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 61, 51, 235, 193, 216, 211, 158, 76, 129, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 131, 53, 168, 206, 220, 61, 230, 161, 238, 9, 164, 61, 172, 227, 104, 60, 51, 210, 27, 188, 255, 255, 255, 255, 83, 62, 213, 160, 34, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 61, 76, 218, 241, 222, 249, 181, 50, 134, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 255, 255, 255, 255, 238, 60, 136, 161, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 209, 202, 179, 49, 140, 61, 6, 161, 7, 76, 159, 188, 96, 44, 156, 60, 135, 244, 9, 61, 95, 202, 198, 228, 253, 199, 208, 137, 54, 95, 167, 61, 244, 240, 66, 60, 0, 155, 192, 187, 15, 198, 164, 53, 75, 61, 39, 161, 172, 71, 97, 188, 84, 36, 41, 60, 33, 25, 195, 60, 29, 185, 23, 235, 22, 216, 203, 139, 132, 141, 177, 61, 130, 158, 139, 60, 0, 0, 0, 128, 181, 204, 181, 76, 179, 76, 163, 153, 30, 58, 233, 187, 72, 61, 158, 59, 1, 251, 73, 60, 86, 163, 15, 243, 140, 233, 8, 143, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 59, 233, 194, 62, 83, 193, 76, 186, 153, 0, 0, 0, 0, 176, 168, 65, 59, 0, 0, 0, 128, 255, 127, 255, 255, 255, 255, 176, 146, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 255, 127, 255, 127, 108, 76, 201, 153, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 219, 189, 216, 86, 229, 76, 165, 153, 7, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 61, 91, 250, 209, 194, 42, 78, 167, 138, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 83, 66, 88, 169, 187, 75, 153, 153, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 60, 255, 127, 255, 127, 73, 77, 90, 153, 124, 222, 25, 189, 178, 19, 51, 61, 122, 222, 25, 61, 204, 235, 24, 202, 31, 81, 29, 132, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 59, 41, 61, 146, 172, 73, 76, 132, 153, 138, 244, 9, 189, 196, 124, 249, 60, 137, 244, 9, 61, 55, 219, 99, 210, 35, 185, 219, 130, 5, 171, 169, 61, 174, 123, 164, 60, 217, 185, 180, 33, 58, 51, 57, 179, 180, 76, 150, 153, 169, 71, 225, 188, 96, 44, 156, 60, 164, 71, 225, 60, 114, 203, 69, 218, 129, 202, 28, 136, 196, 107, 170, 61, 220, 27, 162, 60, 0, 155, 192, 187, 146, 44, 40, 189, 239, 76, 210, 153, 7, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 60, 54, 186, 227, 226, 82, 218, 61, 139, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 89, 41, 83, 194, 203, 76, 35, 154, 100, 100, 172, 61, 146, 228, 155, 60, 51, 210, 27, 188, 255, 255, 255, 255, 69, 77, 92, 153, 153, 234, 36, 188, 72, 61, 158, 59, 151, 234, 36, 60, 59, 164, 225, 237, 228, 234, 245, 142, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 255, 255, 255, 255, 115, 76, 197, 153, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 188, 216, 214, 220, 61, 182, 76, 140, 153, 32, 25, 67, 189, 57, 98, 109, 61, 168, 71, 225, 60, 42, 250, 139, 178, 98, 62, 132, 138, 196, 204, 176, 61, 86, 254, 141, 60, 0, 155, 192, 187, 61, 211, 234, 66, 137, 76, 158, 153, 74, 115, 60, 189, 178, 19, 51, 61, 138, 154, 217, 60, 51, 235, 8, 188, 164, 65, 11, 133, 192, 245, 40, 189, 196, 124, 249, 60, 30, 25, 195, 60, 76, 218, 191, 198, 209, 194, 3, 130, 136, 244, 9, 189, 96, 44, 156, 60, 1, 76, 159, 60, 95, 202, 216, 208, 22, 209, 185, 135, 32, 25, 195, 188, 84, 36, 41, 60, 168, 71, 97, 60, 29, 185, 201, 219, 4, 223, 119, 139, 2, 251, 73, 188, 72, 61, 158, 59, 26, 58, 233, 59, 86, 163, 151, 233, 149, 237, 58, 143, 140, 154, 89, 189, 57, 98, 109, 61, 23, 58, 105, 60, 135, 249, 38, 160, 105, 50, 218, 134, 101, 48, 82, 189, 178, 19, 51, 61, 163, 71, 97, 60, 58, 233, 0, 173, 51, 53, 37, 130, 74, 115, 60, 189, 196, 124, 249, 60, 250, 250, 73, 60, 85, 215, 29, 187, 22, 209, 18, 132, 120, 222, 25, 189, 96, 44, 156, 60, 141, 234, 36, 60, 241, 198, 11, 200, 35, 219, 252, 136, 140, 154, 217, 188, 84, 36, 41, 60, 23, 58, 233, 59, 175, 181, 167, 213, 240, 229, 147, 140, 172, 71, 97, 188, 72, 61, 158, 59, 75, 116, 113, 59, 156, 160, 69, 230, 134, 241, 223, 143, 169, 71, 97, 189, 57, 98, 109, 61, 0, 0, 0, 177, 41, 248, 212, 135, 244, 217, 60, 129, 140, 154, 89, 189, 178, 19, 51, 61, 0, 0, 224, 177, 46, 229, 207, 154, 191, 220, 171, 132, 32, 25, 67, 189, 196, 124, 249, 60, 0, 0, 224, 177, 131, 209, 123, 174, 216, 225, 152, 136, 3, 76, 31, 189, 96, 44, 156, 60, 0, 0, 224, 177, 123, 192, 130, 191, 225, 231, 223, 139, 169, 71, 225, 188, 84, 36, 41, 60, 0, 0, 128, 176, 124, 175, 129, 208, 217, 238, 135, 142, 27, 58, 105, 188, 72, 61, 158, 59, 0, 0, 160, 176, 239, 155, 15, 228, 147, 246, 221, 144, 140, 154, 89, 189, 57, 98, 109, 61, 27, 58, 105, 188, 216, 223, 119, 134, 143, 241, 97, 140, 100, 48, 82, 189, 178, 19, 51, 61, 176, 71, 97, 188, 253, 210, 196, 150, 74, 242, 142, 141, 73, 115, 60, 189, 196, 124, 249, 60, 6, 251, 73, 188, 224, 196, 169, 168, 103, 244, 255, 142, 119, 222, 25, 189, 96, 44, 156, 60, 154, 234, 36, 188, 243, 183, 13, 185, 5, 247, 46, 144, 140, 154, 217, 188, 84, 36, 41, 60, 27, 58, 233, 187, 86, 170, 79, 202, 173, 249, 58, 145, 171, 71, 97, 188, 72, 61, 158, 59, 84, 116, 113, 187, 184, 153, 97, 223, 153, 252, 33, 146, 31, 25, 67, 189, 57, 98, 109, 61, 170, 71, 225, 188, 115, 205, 212, 133, 214, 246, 119, 234, 72, 115, 60, 189, 178, 19, 51, 61, 142, 154, 217, 188, 246, 195, 203, 148, 29, 247, 14, 235, 190, 245, 40, 189, 196, 124, 249, 60, 35, 25, 195, 188, 63, 185, 177, 165, 22, 247, 15, 236, 133, 244, 9, 189, 96, 44, 156, 60, 6, 76, 159, 188, 38, 175, 159, 181, 233, 247, 246, 236, 31, 25, 195, 188, 84, 36, 41, 60, 170, 71, 97, 188, 53, 164, 225, 198, 251, 249, 103, 237, 1, 251, 73, 188, 72, 61, 158, 59, 30, 58, 233, 187, 102, 150, 168, 220, 190, 252, 110, 237, 5, 76, 31, 189, 57, 98, 109, 61, 6, 76, 31, 189, 45, 189, 163, 133, 49, 228, 150, 231, 121, 222, 25, 189, 178, 19, 51, 61, 123, 222, 25, 189, 229, 181, 50, 148, 139, 229, 22, 233, 136, 244, 9, 189, 196, 124, 249, 60, 138, 244, 9, 189, 155, 173, 199, 164, 4, 231, 70, 235, 160, 71, 225, 188, 96, 44, 156, 60, 167, 71, 225, 188, 185, 165, 139, 180, 89, 234, 242, 236, 5, 76, 159, 188, 84, 36, 41, 60, 6, 76, 159, 188, 26, 157, 200, 197, 138, 239, 249, 237, 151, 234, 36, 188, 72, 61, 158, 59, 153, 234, 36, 188, 29, 146, 195, 219, 180, 246, 21, 238, 167, 71, 225, 188, 57, 98, 109, 61, 31, 25, 67, 189, 182, 172, 212, 133, 154, 210, 228, 230, 136, 154, 217, 188, 178, 19, 51, 61, 73, 115, 60, 189, 60, 167, 203, 148, 17, 214, 199, 232, 28, 25, 195, 188, 196, 124, 249, 60, 191, 245, 40, 189, 13, 161, 177, 165, 161, 217, 151, 235, 254, 75, 159, 188, 96, 44, 156, 60, 135, 244, 9, 189, 56, 155, 159, 181, 50, 223, 164, 237, 167, 71, 97, 188, 84, 36, 41, 60, 31, 25, 195, 188, 231, 148, 225, 198, 10, 231, 209, 238, 26, 58, 233, 187, 72, 61, 158, 59, 2, 251, 73, 188, 238, 140, 168, 220, 186, 241, 166, 238, 22, 58, 105, 188, 57, 98, 109, 61, 139, 154, 89, 189, 174, 153, 119, 134, 16, 191, 218, 232, 160, 71, 97, 188, 178, 19, 51, 61, 100, 48, 82, 189, 60, 150, 196, 150, 116, 196, 113, 235, 247, 250, 73, 188, 196, 124, 249, 60, 72, 115, 60, 189, 116, 146, 169, 168, 41, 204, 7, 238, 136, 234, 36, 188, 96, 44, 156, 60, 119, 222, 25, 189, 253, 142, 13, 185, 8, 214, 241, 238, 22, 58, 233, 187, 84, 36, 41, 60, 139, 154, 217, 188, 87, 139, 79, 202, 31, 224, 38, 240, 75, 116, 113, 187, 72, 61, 158, 59, 172, 71, 97, 188, 227, 134, 97, 223, 206, 237, 75, 239, 0, 0, 224, 49, 196, 124, 249, 60, 30, 25, 67, 189, 255, 127, 123, 174, 202, 192, 159, 241, 0, 0, 128, 48, 84, 36, 41, 60, 168, 71, 225, 188, 255, 127, 129, 208, 75, 219, 116, 241, 0, 0, 160, 48, 72, 61, 158, 59, 27, 58, 105, 188, 255, 127, 15, 228, 13, 235, 250, 239, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 186, 77, 229, 225, 42, 225, 171, 212, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 168, 242, 81, 101, 124, 151, 218, 249, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 146, 70, 83, 226, 1, 226, 226, 213, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 168, 242, 81, 101, 227, 142, 6, 247, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 87, 59, 229, 212, 101, 218, 235, 222, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 254, 255, 0, 0, 241, 224, 133, 207, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 188, 168, 242, 81, 101, 227, 142, 164, 247, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 254, 255, 0, 0, 166, 228, 171, 205, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 167, 196, 25, 43, 167, 199, 100, 216, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 188, 168, 242, 81, 101, 120, 167, 71, 252, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 217, 181, 217, 53, 118, 202, 35, 219, 129, 29, 114, 61, 249, 178, 81, 61, 241, 135, 156, 47, 26, 241, 27, 113, 30, 153, 57, 249, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 137, 191, 208, 46, 176, 199, 73, 217, 129, 247, 110, 61, 48, 220, 81, 61, 0, 155, 192, 187, 168, 242, 81, 101, 191, 152, 11, 250, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 70, 204, 103, 67, 167, 184, 197, 228, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 94, 236, 169, 166, 97, 97, 124, 244, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 215, 17, 49, 81, 25, 102, 101, 230, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 255, 255, 255, 255, 92, 78, 45, 231, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 70, 204, 103, 67, 30, 185, 2, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 255, 255, 255, 255, 255, 76, 126, 230, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 70, 204, 103, 67, 92, 185, 34, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 39, 238, 205, 174, 92, 94, 238, 243, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 119, 43, 136, 84, 136, 84, 67, 234, 90, 117, 55, 61, 186, 112, 152, 60, 142, 70, 224, 48, 108, 200, 108, 72, 155, 189, 134, 230, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 108, 200, 108, 72, 213, 188, 58, 230, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 240, 232, 14, 151, 240, 104, 119, 244, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 223, 32, 204, 67, 205, 86, 240, 229, 52, 249, 55, 61, 198, 193, 162, 60, 109, 56, 209, 187, 70, 204, 103, 67, 138, 185, 58, 229, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 239, 36, 211, 71, 37, 86, 27, 230, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 70, 204, 103, 67, 183, 186, 214, 229, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 102, 195, 71, 76, 221, 191, 138, 230, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 84, 217, 160, 147, 250, 104, 219, 240, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 206, 46, 40, 110, 205, 76, 11, 243, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 255, 127, 255, 127, 187, 80, 92, 232, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 60, 102, 195, 71, 76, 183, 193, 15, 231, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 255, 127, 255, 127, 177, 77, 215, 230, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 102, 195, 71, 76, 121, 193, 253, 230, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 48, 209, 214, 145, 246, 103, 161, 239, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 51, 60, 31, 95, 226, 75, 102, 235, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 102, 195, 71, 76, 173, 193, 12, 231, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 43, 56, 16, 91, 56, 76, 18, 235, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 102, 195, 71, 76, 124, 193, 254, 230, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 255, 127, 255, 127, 131, 229, 61, 205, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 24, 171, 167, 68, 52, 207, 42, 220, 204, 187, 109, 61, 83, 95, 87, 61, 51, 210, 27, 60, 81, 229, 168, 114, 48, 137, 39, 239, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 208, 174, 137, 63, 187, 205, 69, 220, 129, 247, 110, 61, 49, 220, 81, 61, 0, 155, 192, 59, 81, 229, 168, 114, 56, 152, 140, 248, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 83, 98, 145, 198, 35, 212, 240, 206, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 81, 229, 168, 114, 206, 166, 140, 248, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 230, 84, 87, 187, 37, 194, 203, 210, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 255, 127, 255, 127, 242, 227, 5, 206, 248, 226, 110, 61, 96, 33, 96, 61, 51, 210, 27, 60, 81, 229, 168, 114, 45, 165, 140, 248, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 68, 92, 67, 220, 33, 218, 115, 209, 88, 145, 117, 61, 106, 236, 107, 61, 0, 0, 0, 128, 26, 241, 27, 113, 102, 153, 62, 249, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 229, 97, 186, 205, 121, 214, 85, 207, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 59, 81, 229, 168, 114, 167, 159, 140, 248, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 0, 0, 217, 174, 123, 194, 42, 140, 155, 213, 84, 189, 97, 32, 141, 61, 142, 194, 245, 188, 255, 127, 254, 255, 254, 255, 187, 235, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 0, 0, 255, 191, 51, 211, 204, 148, 80, 199, 45, 189, 97, 32, 141, 61, 79, 199, 45, 189, 255, 127, 254, 255, 254, 255, 21, 236, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 0, 0, 37, 209, 230, 225, 8, 159, 144, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 189, 255, 127, 254, 255, 254, 255, 34, 235, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 255, 127, 254, 255, 254, 255, 215, 237, 143, 194, 117, 61, 97, 32, 141, 61, 0, 0, 128, 176, 255, 255, 255, 127, 20, 145, 255, 255, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 255, 127, 254, 255, 254, 255, 223, 237, 204, 98, 109, 61, 97, 32, 141, 61, 241, 109, 126, 60, 242, 228, 255, 127, 211, 170, 120, 251, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 255, 127, 254, 255, 254, 255, 117, 237, 204, 98, 109, 61, 97, 32, 141, 61, 243, 109, 126, 188, 255, 255, 12, 155, 156, 130, 207, 249, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 37, 81, 255, 127, 3, 116, 50, 252, 174, 71, 225, 60, 97, 32, 141, 61, 35, 25, 67, 189, 255, 127, 254, 255, 254, 255, 170, 237, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 255, 63, 255, 127, 34, 85, 71, 245, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 255, 127, 254, 255, 254, 255, 226, 237, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 255, 127, 254, 255, 254, 255, 187, 235, 169, 71, 97, 189, 97, 32, 141, 61, 0, 0, 0, 177, 255, 255, 255, 127, 117, 214, 255, 127, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 255, 127, 254, 255, 254, 255, 187, 235, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 242, 228, 255, 127, 166, 240, 230, 139, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 242, 100, 255, 127, 176, 203, 251, 175, 240, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 61, 255, 127, 254, 255, 254, 255, 23, 238, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 37, 81, 255, 127, 94, 179, 131, 168, 142, 194, 245, 188, 97, 32, 141, 61, 155, 213, 84, 61, 255, 127, 254, 255, 254, 255, 133, 236, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 255, 127, 254, 255, 255, 255, 38, 236, 242, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 189, 255, 255, 242, 228, 113, 202, 204, 208, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 255, 127, 254, 255, 254, 255, 191, 236, 0, 0, 0, 177, 97, 32, 141, 61, 143, 194, 117, 189, 255, 255, 255, 255, 247, 240, 130, 199, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 217, 46, 255, 127, 232, 64, 115, 244, 35, 25, 67, 61, 97, 32, 141, 61, 172, 71, 225, 188, 255, 127, 254, 255, 254, 255, 174, 227, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 12, 27, 255, 127, 58, 50, 199, 247, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 255, 127, 254, 255, 254, 255, 95, 237, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 255, 127, 254, 255, 254, 255, 28, 236, 5, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 189, 255, 191, 255, 127, 89, 228, 232, 230, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 255, 127, 254, 255, 254, 255, 32, 237, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 217, 174, 255, 127, 140, 211, 130, 229, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 255, 127, 254, 255, 254, 255, 148, 237, 143, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 189, 255, 255, 37, 209, 112, 178, 54, 216, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 0, 0, 242, 228, 254, 242, 88, 173, 244, 109, 126, 188, 97, 32, 141, 61, 204, 98, 109, 189, 255, 127, 254, 255, 254, 255, 250, 236, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 255, 127, 254, 255, 254, 255, 251, 237, 155, 213, 84, 61, 97, 32, 141, 61, 142, 194, 245, 60, 37, 209, 255, 127, 102, 192, 53, 244, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 0, 0, 255, 127, 65, 218, 255, 255, 173, 71, 97, 61, 97, 32, 141, 61, 0, 0, 128, 49, 255, 127, 254, 255, 254, 255, 155, 237, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 0, 0, 12, 155, 13, 245, 160, 243, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 255, 127, 254, 255, 254, 255, 221, 237, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 0, 0, 217, 174, 132, 242, 244, 148, 34, 25, 67, 61, 97, 32, 141, 61, 174, 71, 225, 60, 255, 127, 254, 255, 254, 255, 36, 238, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 12, 27, 255, 127, 186, 130, 116, 134, 204, 98, 109, 189, 97, 32, 141, 61, 244, 109, 126, 60, 255, 127, 254, 255, 254, 255, 193, 235, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 0, 0, 255, 127, 64, 146, 255, 127, 143, 194, 117, 189, 97, 32, 141, 61, 0, 0, 0, 49, 255, 127, 254, 255, 254, 255, 74, 236, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 255, 127, 254, 255, 254, 255, 12, 238, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 255, 255, 255, 191, 107, 159, 147, 224, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 0, 0, 37, 209, 46, 208, 106, 153, 170, 71, 225, 60, 97, 32, 141, 61, 34, 25, 67, 61, 255, 127, 254, 255, 254, 255, 41, 239, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 0, 0, 242, 228, 78, 189, 44, 152, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 255, 127, 254, 255, 254, 255, 253, 238, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 255, 127, 254, 255, 254, 255, 179, 238, 80, 199, 45, 61, 97, 32, 141, 61, 79, 199, 45, 61, 255, 191, 255, 127, 143, 209, 155, 235, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 255, 127, 254, 255, 254, 255, 41, 241, 32, 25, 67, 189, 97, 32, 141, 61, 168, 71, 225, 60, 255, 255, 217, 174, 225, 67, 0, 139, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 255, 127, 254, 255, 254, 255, 223, 235, 140, 154, 89, 189, 97, 32, 141, 61, 23, 58, 105, 60, 255, 255, 12, 155, 182, 53, 216, 135, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 0, 0, 255, 191, 224, 224, 55, 152, 7, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 61, 255, 127, 254, 255, 254, 255, 199, 238, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 255, 127, 254, 255, 254, 255, 200, 236, 0, 0, 0, 0, 97, 32, 141, 61, 174, 71, 97, 189, 255, 127, 255, 127, 11, 169, 120, 235, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 242, 100, 255, 127, 239, 146, 253, 243, 30, 58, 105, 60, 97, 32, 141, 61, 144, 154, 89, 189, 255, 127, 254, 255, 255, 255, 143, 237, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 255, 127, 254, 255, 254, 255, 200, 237, 31, 25, 67, 189, 97, 32, 141, 61, 170, 71, 225, 188, 37, 209, 255, 127, 168, 246, 71, 234, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 255, 127, 254, 255, 254, 255, 252, 228, 0, 0, 64, 177, 97, 32, 141, 61, 171, 71, 97, 61, 255, 255, 255, 255, 63, 166, 31, 147, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 255, 127, 254, 255, 254, 255, 54, 238, 144, 194, 245, 60, 97, 32, 141, 61, 155, 213, 84, 61, 217, 174, 255, 127, 87, 224, 116, 225, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 255, 127, 254, 255, 254, 255, 53, 239, 244, 109, 126, 60, 97, 32, 141, 61, 204, 98, 109, 61, 12, 155, 255, 127, 13, 241, 106, 211, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 255, 127, 254, 255, 254, 255, 29, 237, 22, 58, 105, 188, 97, 32, 141, 61, 139, 154, 89, 189, 12, 155, 255, 127, 81, 192, 161, 230, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 255, 127, 254, 255, 254, 255, 8, 243, 0, 0, 0, 49, 97, 32, 141, 61, 143, 194, 117, 61, 255, 127, 255, 127, 78, 243, 167, 185, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 255, 127, 254, 255, 254, 255, 237, 239, 156, 213, 84, 61, 97, 32, 141, 61, 144, 194, 245, 188, 255, 255, 217, 174, 254, 142, 130, 235, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 255, 127, 254, 255, 254, 255, 7, 238, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 255, 255, 242, 228, 73, 145, 245, 138, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 255, 127, 254, 255, 254, 255, 47, 236, 7, 76, 31, 189, 97, 32, 141, 61, 6, 76, 31, 61, 255, 255, 255, 191, 26, 87, 56, 138, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 0, 0, 12, 155, 24, 173, 195, 132, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 255, 127, 254, 255, 254, 255, 200, 235, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 255, 63, 255, 127, 65, 160, 65, 160, 79, 199, 45, 189, 97, 32, 141, 61, 80, 199, 45, 61, 255, 127, 254, 255, 254, 255, 56, 236, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 255, 127, 254, 255, 254, 255, 138, 237, 172, 71, 225, 188, 97, 32, 141, 61, 33, 25, 67, 61, 255, 255, 37, 209, 77, 116, 180, 131, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 217, 46, 255, 127, 175, 143, 109, 149, 155, 213, 84, 189, 97, 32, 141, 61, 144, 194, 245, 60, 255, 127, 254, 255, 254, 255, 210, 233, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 153, 209, 226, 120, 140, 199, 162, 163, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 157, 9, 175, 125, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 119, 72, 204, 38, 151, 75, 14, 239, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 177, 95, 253, 235, 231, 71, 155, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 55, 24, 133, 105, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 81, 71, 249, 38, 167, 76, 145, 225, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 224, 70, 92, 40, 208, 24, 204, 179, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 241, 95, 12, 238, 97, 97, 124, 244, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 55, 97, 164, 238, 92, 94, 238, 243, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 250, 22, 95, 110, 226, 75, 102, 235, 243, 199, 184, 61, 156, 245, 252, 60, 51, 210, 27, 188, 127, 211, 235, 61, 90, 112, 240, 135, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 16, 214, 63, 63, 138, 161, 17, 145, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 155, 159, 54, 221, 169, 218, 88, 174, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 11, 148, 159, 242, 177, 220, 91, 173, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 149, 107, 33, 227, 249, 240, 140, 187, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 241, 97, 182, 229, 177, 222, 118, 218, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 71, 17, 63, 85, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 31, 41, 183, 111, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 188, 36, 49, 85, 190, 66, 91, 230, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 85, 105, 114, 37, 190, 66, 91, 230, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 255, 106, 11, 236, 55, 75, 247, 227, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 188, 25, 102, 196, 248, 231, 71, 155, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 216, 51, 119, 77, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 144, 108, 130, 23, 167, 76, 145, 225, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 244, 87, 77, 46, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 236, 73, 216, 43, 113, 24, 157, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 97, 242, 107, 85, 113, 24, 157, 179, 36, 212, 174, 61, 158, 53, 148, 60, 51, 210, 27, 60, 10, 208, 86, 61, 229, 76, 165, 153, 236, 30, 113, 61, 118, 95, 102, 61, 237, 209, 225, 187, 192, 104, 59, 229, 1, 226, 226, 213, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 187, 34, 107, 114, 241, 97, 97, 124, 244, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 39, 42, 111, 101, 30, 185, 2, 229, 254, 63, 64, 61, 242, 184, 188, 60, 51, 210, 27, 188, 241, 98, 120, 242, 92, 94, 238, 243, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 144, 47, 106, 91, 183, 186, 214, 229, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 42, 111, 62, 242, 246, 103, 161, 239, 52, 249, 55, 61, 198, 193, 162, 60, 112, 56, 209, 59, 25, 35, 226, 84, 226, 75, 102, 235, 9, 76, 31, 61, 97, 32, 141, 61, 8, 76, 31, 189, 202, 102, 23, 177, 34, 85, 71, 245, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 75, 203, 180, 195, 254, 255, 187, 235, 140, 154, 89, 189, 97, 32, 141, 61, 27, 58, 105, 188, 143, 189, 238, 177, 166, 240, 230, 139, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 254, 67, 59, 220, 58, 50, 199, 247, 144, 154, 89, 61, 97, 32, 141, 61, 25, 58, 105, 188, 154, 96, 84, 177, 58, 50, 199, 247, 167, 71, 225, 188, 97, 32, 141, 61, 31, 25, 67, 189, 50, 118, 129, 182, 140, 211, 130, 229, 143, 154, 89, 61, 97, 32, 141, 61, 33, 58, 105, 60, 120, 51, 3, 218, 13, 245, 160, 243, 80, 199, 45, 61, 97, 32, 141, 61, 80, 199, 45, 189, 5, 49, 85, 84, 107, 159, 147, 224, 24, 58, 105, 60, 97, 32, 141, 61, 142, 154, 89, 61, 166, 46, 224, 228, 78, 189, 44, 152, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 253, 205, 191, 205, 254, 255, 7, 238, 30, 58, 105, 188, 97, 32, 141, 61, 142, 154, 89, 61, 228, 51, 113, 229, 73, 145, 245, 138, 204, 98, 109, 189, 97, 32, 141, 61, 240, 109, 126, 188, 23, 208, 191, 209, 254, 255, 200, 235, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 232, 210, 105, 81, 248, 161, 251, 144, 188, 129, 185, 61, 64, 234, 55, 61, 0, 0, 0, 128, 2, 191, 33, 189, 248, 161, 251, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 140, 219, 121, 86, 32, 162, 196, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 30, 210, 25, 85, 138, 161, 17, 145, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 255, 209, 243, 77, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 128, 207, 217, 81, 168, 180, 128, 154, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 164, 214, 108, 185, 140, 199, 162, 163, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 60, 87, 213, 9, 177, 169, 218, 88, 174, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 234, 136, 148, 249, 177, 220, 91, 173, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 49, 85, 186, 219, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 246, 80, 63, 186, 187, 236, 242, 206, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 111, 61, 175, 211, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 20, 82, 57, 187, 177, 222, 118, 218, 210, 179, 131, 187, 0, 0, 19, 181, 141, 194, 117, 60, 193, 35, 95, 226, 205, 247, 240, 182, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 195, 18, 62, 84, 151, 75, 14, 239, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 129, 41, 181, 111, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 183, 46, 214, 79, 190, 66, 91, 230, 217, 226, 76, 61, 236, 240, 130, 60, 51, 210, 27, 60, 150, 117, 162, 228, 55, 75, 247, 227, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 222, 59, 44, 74, 167, 76, 145, 225, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 175, 207, 106, 97, 167, 76, 145, 225, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 187, 76, 65, 67, 123, 53, 214, 220, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 112, 161, 228, 13, 20, 36, 12, 209, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 117, 207, 37, 97, 218, 6, 151, 195, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 77, 135, 57, 3, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 21, 203, 88, 90, 208, 24, 204, 179, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 4, 216, 120, 105, 171, 45, 114, 169, 156, 225, 165, 61, 128, 233, 83, 60, 51, 210, 27, 188, 217, 189, 97, 75, 140, 61, 6, 161, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 207, 90, 199, 209, 42, 225, 171, 212, 37, 38, 59, 61, 82, 109, 175, 60, 51, 210, 27, 188, 137, 19, 147, 191, 30, 185, 2, 229, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 45, 88, 28, 227, 240, 104, 119, 244, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 75, 43, 43, 97, 37, 86, 27, 230, 19, 208, 68, 61, 100, 130, 195, 60, 0, 155, 192, 59, 196, 111, 221, 224, 250, 104, 219, 240, 254, 63, 64, 61, 240, 184, 188, 60, 51, 210, 27, 60, 46, 115, 250, 227, 246, 103, 161, 239, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 76, 32, 195, 81, 56, 76, 18, 235, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 40, 58, 97, 209, 35, 212, 240, 206, 112, 62, 188, 61, 250, 36, 252, 60, 0, 0, 0, 128, 200, 222, 100, 101, 120, 112, 192, 135, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 60, 21, 210, 171, 80, 32, 162, 196, 144, 169, 59, 182, 61, 96, 83, 52, 61, 51, 210, 27, 188, 102, 207, 138, 79, 138, 161, 17, 145, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 16, 211, 29, 82, 12, 181, 140, 154, 158, 48, 179, 61, 246, 123, 80, 61, 0, 0, 0, 128, 110, 184, 78, 196, 12, 181, 140, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 92, 211, 245, 81, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 60, 44, 214, 66, 178, 239, 180, 85, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 65, 210, 147, 82, 168, 180, 128, 154, 72, 90, 176, 61, 124, 50, 75, 61, 51, 210, 27, 188, 248, 200, 218, 172, 168, 180, 128, 154, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 60, 138, 186, 29, 190, 43, 199, 200, 163, 15, 222, 167, 61, 242, 54, 93, 61, 51, 210, 27, 188, 250, 199, 59, 192, 140, 199, 162, 163, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 254, 204, 128, 198, 177, 220, 91, 173, 4, 91, 157, 61, 114, 38, 105, 61, 51, 210, 27, 188, 182, 130, 179, 247, 177, 220, 91, 173, 64, 21, 146, 61, 45, 19, 118, 61, 0, 0, 0, 128, 3, 194, 97, 194, 37, 248, 80, 188, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 60, 161, 117, 119, 254, 249, 240, 140, 187, 141, 136, 145, 61, 191, 48, 110, 61, 51, 210, 27, 188, 100, 114, 118, 243, 69, 247, 216, 184, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 60, 106, 57, 225, 207, 64, 226, 180, 201, 232, 52, 133, 61, 236, 253, 107, 61, 51, 210, 27, 188, 196, 87, 107, 208, 187, 236, 242, 206, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 60, 192, 60, 156, 210, 13, 203, 163, 208, 68, 110, 114, 61, 80, 180, 98, 61, 51, 210, 27, 188, 170, 84, 42, 190, 177, 222, 118, 218, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 60, 188, 19, 4, 83, 151, 75, 14, 239, 250, 231, 65, 61, 180, 165, 173, 60, 51, 210, 27, 60, 118, 108, 91, 227, 180, 93, 169, 235, 201, 12, 60, 61, 246, 57, 167, 60, 51, 210, 27, 188, 202, 43, 230, 108, 30, 94, 202, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 60, 196, 41, 59, 80, 190, 66, 91, 230, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 14, 115, 108, 229, 35, 75, 123, 229, 131, 143, 82, 61, 226, 131, 141, 60, 217, 185, 180, 33, 162, 205, 140, 194, 35, 75, 123, 229, 139, 207, 71, 61, 120, 247, 114, 60, 51, 210, 27, 188, 21, 47, 82, 86, 167, 76, 145, 225, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 209, 56, 219, 73, 119, 56, 13, 220, 204, 93, 84, 61, 60, 102, 16, 60, 0, 0, 0, 128, 153, 142, 73, 33, 119, 56, 13, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 60, 112, 56, 157, 65, 123, 53, 214, 220, 253, 199, 88, 61, 164, 229, 42, 60, 51, 210, 27, 188, 111, 60, 202, 73, 206, 57, 149, 218, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 60, 12, 100, 79, 39, 33, 34, 7, 210, 20, 206, 109, 61, 64, 79, 246, 59, 51, 210, 27, 188, 142, 92, 234, 38, 20, 36, 12, 209, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 78, 86, 99, 47, 123, 7, 176, 195, 205, 44, 130, 61, 104, 233, 142, 59, 0, 0, 0, 128, 133, 175, 56, 52, 123, 7, 176, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 60, 112, 123, 216, 6, 218, 6, 151, 195, 128, 185, 130, 61, 216, 252, 205, 59, 51, 210, 27, 188, 112, 146, 103, 24, 71, 7, 100, 195, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 60, 98, 168, 183, 33, 208, 24, 204, 179, 38, 13, 143, 61, 120, 147, 223, 59, 51, 210, 27, 188, 110, 195, 101, 62, 113, 24, 157, 179, 234, 10, 155, 61, 28, 240, 20, 60, 51, 210, 27, 60, 117, 205, 3, 91, 171, 45, 114, 169, 247, 240, 167, 61, 124, 117, 60, 60, 0, 0, 0, 128, 61, 191, 180, 58, 138, 61, 53, 161, 195, 235, 113, 61, 131, 76, 104, 61, 0, 155, 192, 187, 81, 97, 237, 208, 42, 225, 171, 212, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 231, 110, 108, 225, 240, 104, 119, 244, 59, 24, 71, 61, 8, 50, 193, 60, 176, 7, 173, 48, 27, 150, 111, 251, 240, 104, 119, 244, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 187, 228, 43, 162, 96, 37, 86, 27, 230, 90, 147, 55, 61, 220, 1, 161, 60, 0, 155, 192, 59, 25, 31, 133, 83, 56, 76, 18, 235, 236, 30, 113, 61, 118, 95, 102, 61, 236, 209, 225, 59, 24, 58, 57, 209, 35, 212, 240, 206)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_23l5t")
-[sub_resource type="ConvexPolygonShape" id=2]
-margin = 0.002
-points = PoolVector3Array( -4.69014e-06, 0.0579483, -0.06, -4.69014e-06, 0.0689094, -0.06, 0.0155226, 0.0579483, -0.0579561, -4.69014e-06, 0.0424205, -0.0579561, -0.015011, 0.0424205, -0.0559828, -0.015532, 0.0579483, -0.0579561, 0.0155226, 0.0689094, -0.0579561, -0.015532, 0.0689094, -0.0579561, 0.0149867, 0.0424205, -0.0559828, 0.029993, 0.0579483, -0.0519655, -4.69014e-06, 0.0279518, -0.0519655, -0.0134627, 0.0279518, -0.0501919, -0.02899, 0.0424205, -0.0501919, -0.0300023, 0.0579483, -0.0519655, 0.029993, 0.0689094, -0.0519655, -0.0300023, 0.0689094, -0.0519655, 0.0134384, 0.0279518, -0.0501919, 0.0289657, 0.0424205, -0.0501919, 0.0259734, 0.0279518, -0.045, 0.0903753, 0.0376313, -0.00951448, 0.0902116, 0.0308725, -0.00951448, 0.0109672, 0.0155269, -0.0409828, -4.69014e-06, 0.0155269, -0.0424276, -0.0109914, 0.0155269, -0.0409828, -0.0212189, 0.0155269, -0.0367424, -0.0259828, 0.0279518, -0.045, -0.0367462, 0.0279518, -0.0367424, -0.0409891, 0.0424205, -0.0409828, -0.0424331, 0.0579483, -0.0424276, 0.0424238, 0.0689094, -0.0424276, -0.0424331, 0.0689094, -0.0424276, 0.0756966, 0.00908512, -0.00951448, 0.0884995, 0.0242081, -0.00951448, 0.0853584, 0.0180901, -0.00951448, 0.0809964, 0.01293, -0.00951448, 0.0889759, 0.0440192, -0.00951448, 0.0901371, 0.0446532, -0.00588489, 0.091611, 0.0379214, -0.00588489, 0.0914472, 0.0308051, -0.00588489, 0.00775153, 0.00598901, -0.0289781, -4.69014e-06, 0.00598901, -0.03, 0.0698459, 0.00681869, -0.00951448, -0.00777579, 0.00598901, -0.0289781, -0.015011, 0.00598901, -0.0259828, -0.0300023, 0.0155269, -0.03, -0.0450086, 0.0279518, -0.0259828, -0.0502042, 0.0424205, -0.0289781, -0.0519758, 0.0579483, -0.03, 0.0519515, 0.0689094, -0.0300117, 0.0819641, 0.0540022, -0.00951448, 0.0861027, 0.0496043, -0.00951448, -0.0519758, 0.0689094, -0.03, 0.0761432, 0.00784398, -0.00588489, 0.089631, 0.0237764, -0.00588489, 0.086326, 0.0173279, -0.00588489, 0.081711, 0.0118979, -0.00588489, 0.0905689, 0.0448961, 3.72529e-09, 0.0920874, 0.0380361, 3.72529e-09, 0.0871002, 0.0505419, -0.00588489, 0.0874872, 0.0508994, 3.72529e-09, 0.0919087, 0.0307781, 3.72529e-09, 0.0900627, 0.0236146, 3.72529e-09, 0.00401485, -8.3819e-07, -0.015, -4.69014e-06, -8.3819e-07, -0.0155403, 0.069965, 0.00545613, -0.00588489, -0.00402423, -8.3819e-07, -0.015, -0.00777579, -8.3819e-07, -0.0134495, -0.0212189, 0.00598901, -0.0212138, -0.0109914, -8.3819e-07, -0.0109828, -0.0367462, 0.0155269, -0.0212138, -0.0409891, 0.0155269, -0.0109828, -0.0502042, 0.0279518, -0.0134495, -0.0559953, 0.0424205, -0.015, -0.0579605, 0.0579483, -0.0155403, 0.0579511, 0.0689094, -0.0155403, 0.0827382, 0.0551759, -0.00588489, -0.0579605, 0.0689094, -0.0155403, 0.076307, 0.0073718, 3.72529e-09, 0.0700246, 0.00493674, 3.72529e-09, 0.0819938, 0.0114999, 3.72529e-09, 0.0866833, 0.0170379, 3.72529e-09, 0.0901371, 0.0446532, 0.00587314, 0.091611, 0.0379214, 0.00587314, 0.0914472, 0.0308051, 0.00587314, 0.083036, 0.0556211, 3.72529e-09, 0.0827382, 0.0551759, 0.00587314, 0.0871002, 0.0505419, 0.00587314, 0.089631, 0.0237764, 0.00587314, 0.086326, 0.0173279, 0.00587314, 0.00775153, -8.3819e-07, -0.0134495, 0.0109672, -8.3819e-07, -0.0109828, -0.0134627, -8.3819e-07, -0.00777604, -0.0259828, 0.00598901, -0.015, -0.02899, 0.00598901, -0.00777604, -0.0424331, 0.0155269, -1.17458e-05, -0.0519758, 0.0279518, 3.72529e-09, -0.0579605, 0.0424205, -1.17458e-05, -0.06, 0.0579483, 3.72529e-09, 0.0599906, 0.0689094, 3.72529e-09, -0.06, 0.0689094, 3.72529e-09, 0.0761432, 0.00784398, 0.00587314, 0.069965, 0.00545613, 0.00587314, 0.0109672, -8.3819e-07, 0.010971, 0.0134384, -8.3819e-07, 0.00776429, 0.0149867, -8.3819e-07, 0.00401723, 0.0155226, -8.3819e-07, 3.72529e-09, 0.0149867, -8.3819e-07, -0.00402897, 0.0134384, -8.3819e-07, -0.00777604, 0.081711, 0.0118979, 0.00587314, 0.0889759, 0.0440192, 0.00950274, 0.0903753, 0.0376313, 0.00950274, 0.0861027, 0.0496043, 0.00950274, 0.0902116, 0.0308725, 0.00950274, 0.0884995, 0.0242081, 0.00950274, 0.0579511, 0.0689094, 0.0155286, 0.0819641, 0.0540022, 0.00950274, 0.0519515, 0.0689094, 0.03, 0.0853584, 0.0180901, 0.00950274, 0.0809964, 0.01293, 0.00950274, -0.015011, -8.3819e-07, -0.00402897, -0.0300023, 0.00598901, 3.72529e-09, -0.02899, 0.00598901, 0.00776429, -0.0409891, 0.0155269, 0.010971, -0.0502042, 0.0279518, 0.0134377, -0.0559953, 0.0424205, 0.0149883, -0.0579605, 0.0579483, 0.0155286, -0.0579605, 0.0689094, 0.0155286, 0.0756966, 0.00908512, 0.00950274, 0.0698459, 0.00681869, 0.00950274, 0.00401485, -8.3819e-07, 0.015, 0.00775153, -8.3819e-07, 0.0134377, 0.0424238, 0.0689094, 0.0424158, 0.029993, 0.0579483, 0.0519538, 0.029993, 0.0689094, 0.0519538, 0.0289657, 0.0424205, 0.0501801, 0.0259734, 0.0279518, 0.045, -0.015532, -8.3819e-07, -1.17458e-05, -0.015011, -8.3819e-07, 0.00401723, -0.0134627, -8.3819e-07, 0.00776429, -0.0259828, 0.00598901, 0.015, -0.0367462, 0.0155269, 0.021202, -0.0450086, 0.0279518, 0.025971, -0.0502042, 0.0424205, 0.0289663, -0.0519758, 0.0579483, 0.03, -0.0519758, 0.0689094, 0.03, 0.0134384, 0.0279518, 0.0501801, 0.0109672, 0.0155269, 0.040971, 0.00775153, 0.00598901, 0.0289663, -4.69014e-06, 0.00598901, 0.03, -4.69014e-06, -8.3819e-07, 0.0155286, 0.0155226, 0.0579483, 0.0579444, 0.0149867, 0.0424205, 0.055971, 0.0155226, 0.0689094, 0.0579444, -0.0109914, -8.3819e-07, 0.010971, -0.0212189, 0.00598901, 0.021202, -0.0300023, 0.0155269, 0.0299883, -0.0367462, 0.0279518, 0.0367306, -0.0409891, 0.0424205, 0.040971, -0.0424331, 0.0579483, 0.0424158, -0.0424331, 0.0689094, 0.0424158, -4.69014e-06, 0.0279518, 0.0519538, -4.69014e-06, 0.0155269, 0.0424158, -0.0109914, 0.0155269, 0.040971, -0.00777579, 0.00598901, 0.0289663, -0.00402423, -8.3819e-07, 0.015, -4.69014e-06, 0.0579483, 0.06, -4.69014e-06, 0.0424205, 0.0579444, -4.69014e-06, 0.0689094, 0.06, -0.00777579, -8.3819e-07, 0.0134377, -0.015011, 0.00598901, 0.025971, -0.0212189, 0.0155269, 0.0367306, -0.0259828, 0.0279518, 0.045, -0.02899, 0.0424205, 0.0501801, -0.0300023, 0.0579483, 0.0519538, -0.0300023, 0.0689094, 0.0519538, -0.015011, 0.0424205, 0.055971, -0.0134627, 0.0279518, 0.0501801, -0.015532, 0.0579483, 0.0579444, -0.015532, 0.0689094, 0.0579444 )
+[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_y01ub"]
+points = PackedVector3Array(-4.69014e-06, 0.0579483, -0.06, -4.69014e-06, 0.0689094, -0.06, 0.0155226, 0.0579483, -0.0579561, -4.69014e-06, 0.0424205, -0.0579561, -0.015011, 0.0424205, -0.0559828, -0.015532, 0.0579483, -0.0579561, -0.015532, 0.0689094, -0.0579561, 0.0155226, 0.0689094, -0.0579561, 0.0149867, 0.0424205, -0.0559828, 0.029993, 0.0579483, -0.0519655, -4.69014e-06, 0.0279518, -0.0519655, -0.0134627, 0.0279518, -0.0501919, -0.02899, 0.0424205, -0.0501919, -0.0300023, 0.0579483, -0.0519655, -0.0300023, 0.0689094, -0.0519655, 0.029993, 0.0689094, -0.0519655, 0.0289657, 0.0424205, -0.0501919, 0.0259734, 0.0279518, -0.045, 0.0134384, 0.0279518, -0.0501919, 0.0903753, 0.0376313, -0.00951448, 0.0902116, 0.0308725, -0.00951448, 0.0109672, 0.0155269, -0.0409828, -4.69014e-06, 0.0155269, -0.0424276, -0.0109914, 0.0155269, -0.0409828, -0.0212189, 0.0155269, -0.0367424, -0.0259828, 0.0279518, -0.045, -0.0367462, 0.0279518, -0.0367424, -0.0409891, 0.0424205, -0.0409828, -0.0424331, 0.0579483, -0.0424276, -0.0424331, 0.0689094, -0.0424276, 0.0424238, 0.0689094, -0.0424276, 0.0884995, 0.0242081, -0.00951448, 0.0853584, 0.0180901, -0.00951448, 0.0809964, 0.01293, -0.00951448, 0.0756966, 0.00908512, -0.00951448, 0.0889759, 0.0440192, -0.00951448, 0.0901371, 0.0446532, -0.00588489, 0.091611, 0.0379214, -0.00588489, 0.0914472, 0.0308051, -0.00588489, 0.00775153, 0.00598901, -0.0289781, -4.69014e-06, 0.00598901, -0.03, 0.0698459, 0.00681869, -0.00951448, -0.00777579, 0.00598901, -0.0289781, -0.015011, 0.00598901, -0.0259828, -0.0300023, 0.0155269, -0.03, -0.0450086, 0.0279518, -0.0259828, -0.0502042, 0.0424205, -0.0289781, -0.0519758, 0.0579483, -0.03, -0.0519758, 0.0689094, -0.03, 0.0519515, 0.0689094, -0.0300117, 0.0819641, 0.0540022, -0.00951448, 0.0861027, 0.0496043, -0.00951448, 0.089631, 0.0237764, -0.00588489, 0.086326, 0.0173279, -0.00588489, 0.081711, 0.0118979, -0.00588489, 0.0761432, 0.00784398, -0.00588489, 0.0905689, 0.0448961, 3.72529e-09, 0.0920874, 0.0380361, 3.72529e-09, 0.0871002, 0.0505419, -0.00588489, 0.0874872, 0.0508994, 3.72529e-09, 0.0919087, 0.0307781, 3.72529e-09, 0.0900627, 0.0236146, 3.72529e-09, 0.00401485, -8.3819e-07, -0.015, -4.69014e-06, -8.3819e-07, -0.0155403, 0.069965, 0.00545613, -0.00588489, -0.00402423, -8.3819e-07, -0.015, -0.00777579, -8.3819e-07, -0.0134495, -0.0212189, 0.00598901, -0.0212138, -0.0109914, -8.3819e-07, -0.0109828, -0.0367462, 0.0155269, -0.0212138, -0.0502042, 0.0279518, -0.0134495, -0.0409891, 0.0155269, -0.0109828, -0.0559953, 0.0424205, -0.015, -0.0579605, 0.0579483, -0.0155403, -0.0579605, 0.0689094, -0.0155403, 0.0579511, 0.0689094, -0.0155403, 0.0827382, 0.0551759, -0.00588489, 0.0866833, 0.0170379, 3.72529e-09, 0.0819938, 0.0114999, 3.72529e-09, 0.076307, 0.0073718, 3.72529e-09, 0.0700246, 0.00493674, 3.72529e-09, 0.0901371, 0.0446532, 0.00587314, 0.091611, 0.0379214, 0.00587314, 0.0914472, 0.0308051, 0.00587314, 0.083036, 0.0556211, 3.72529e-09, 0.0827382, 0.0551759, 0.00587314, 0.0871002, 0.0505419, 0.00587314, 0.089631, 0.0237764, 0.00587314, 0.086326, 0.0173279, 0.00587314, 0.00775153, -8.3819e-07, -0.0134495, 0.0109672, -8.3819e-07, -0.0109828, -0.0134627, -8.3819e-07, -0.00777604, -0.0259828, 0.00598901, -0.015, -0.02899, 0.00598901, -0.00777604, -0.0519758, 0.0279518, 3.72529e-09, -0.0424331, 0.0155269, -1.17458e-05, -0.0579605, 0.0424205, -1.17458e-05, -0.06, 0.0579483, 3.72529e-09, -0.06, 0.0689094, 3.72529e-09, 0.0599906, 0.0689094, 3.72529e-09, 0.081711, 0.0118979, 0.00587314, 0.0761432, 0.00784398, 0.00587314, 0.069965, 0.00545613, 0.00587314, 0.0109672, -8.3819e-07, 0.010971, 0.0134384, -8.3819e-07, 0.00776429, 0.0149867, -8.3819e-07, 0.00401723, 0.0155226, -8.3819e-07, 3.72529e-09, 0.0149867, -8.3819e-07, -0.00402897, 0.0134384, -8.3819e-07, -0.00777604, 0.0903753, 0.0376313, 0.00950274, 0.0861027, 0.0496043, 0.00950274, 0.0889759, 0.0440192, 0.00950274, 0.0902116, 0.0308725, 0.00950274, 0.0884995, 0.0242081, 0.00950274, 0.0579511, 0.0689094, 0.0155286, 0.0819641, 0.0540022, 0.00950274, 0.0519515, 0.0689094, 0.03, 0.0853584, 0.0180901, 0.00950274, 0.0809964, 0.01293, 0.00950274, -0.015011, -8.3819e-07, -0.00402897, -0.0300023, 0.00598901, 3.72529e-09, -0.0409891, 0.0155269, 0.010971, -0.0502042, 0.0279518, 0.0134377, -0.0559953, 0.0424205, 0.0149883, -0.02899, 0.00598901, 0.00776429, -0.0579605, 0.0579483, 0.0155286, -0.0579605, 0.0689094, 0.0155286, 0.0756966, 0.00908512, 0.00950274, 0.0698459, 0.00681869, 0.00950274, 0.00401485, -8.3819e-07, 0.015, 0.00775153, -8.3819e-07, 0.0134377, 0.029993, 0.0579483, 0.0519538, 0.0424238, 0.0689094, 0.0424158, 0.029993, 0.0689094, 0.0519538, 0.0289657, 0.0424205, 0.0501801, 0.0259734, 0.0279518, 0.045, -0.015532, -8.3819e-07, -1.17458e-05, -0.015011, -8.3819e-07, 0.00401723, -0.0367462, 0.0155269, 0.021202, -0.0450086, 0.0279518, 0.025971, -0.0502042, 0.0424205, 0.0289663, -0.0519758, 0.0579483, 0.03, -0.0134627, -8.3819e-07, 0.00776429, -0.0259828, 0.00598901, 0.015, -0.0519758, 0.0689094, 0.03, 0.0134384, 0.0279518, 0.0501801, 0.0109672, 0.0155269, 0.040971, 0.00775153, 0.00598901, 0.0289663, -4.69014e-06, 0.00598901, 0.03, -4.69014e-06, -8.3819e-07, 0.0155286, 0.0155226, 0.0579483, 0.0579444, 0.0149867, 0.0424205, 0.055971, 0.0155226, 0.0689094, 0.0579444, -0.0300023, 0.0155269, 0.0299883, -0.0367462, 0.0279518, 0.0367306, -0.0409891, 0.0424205, 0.040971, -0.0424331, 0.0579483, 0.0424158, -0.0109914, -8.3819e-07, 0.010971, -0.0212189, 0.00598901, 0.021202, -0.0424331, 0.0689094, 0.0424158, -4.69014e-06, 0.0279518, 0.0519538, -4.69014e-06, 0.0155269, 0.0424158, -0.0109914, 0.0155269, 0.040971, -0.00777579, 0.00598901, 0.0289663, -0.00402423, -8.3819e-07, 0.015, -4.69014e-06, 0.0579483, 0.06, -4.69014e-06, 0.0424205, 0.0579444, -4.69014e-06, 0.0689094, 0.06, -0.015011, 0.00598901, 0.025971, -0.0212189, 0.0155269, 0.0367306, -0.0259828, 0.0279518, 0.045, -0.02899, 0.0424205, 0.0501801, -0.0300023, 0.0579483, 0.0519538, -0.00777579, -8.3819e-07, 0.0134377, -0.0300023, 0.0689094, 0.0519538, -0.015011, 0.0424205, 0.055971, -0.0134627, 0.0279518, 0.0501801, -0.015532, 0.0579483, 0.0579444, -0.015532, 0.0689094, 0.0579444)
-[sub_resource type="Resource" id=3]
-script = ExtResource( 6 )
-open_pose = ExtResource( 8 )
-closed_pose = ExtResource( 8 )
+[sub_resource type="Resource" id="Resource_nm328"]
+script = ExtResource("5_rkolq")
+open_pose = ExtResource("4_a44uc")
+closed_pose = ExtResource("4_a44uc")
-[sub_resource type="Resource" id=4]
-script = ExtResource( 6 )
-open_pose = ExtResource( 7 )
-closed_pose = ExtResource( 7 )
+[sub_resource type="Resource" id="Resource_4mm4i"]
+script = ExtResource("5_rkolq")
+open_pose = ExtResource("7_m23hc")
+closed_pose = ExtResource("7_m23hc")
-[node name="Teacup" type="RigidBody" groups=["Teacup"]]
-collision_layer = 4
-collision_mask = 196615
-script = ExtResource( 1 )
+[node name="Teacup" groups=["Teacup"] instance=ExtResource("1_q232w")]
-[node name="Teacup" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
+[node name="Teacup" type="MeshInstance3D" parent="." index="0"]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_gro0q")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("5")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 2 )
+[node name="CollisionShape3D" parent="." index="1"]
+shape = SubResource("ConvexPolygonShape3D_y01ub")
-[node name="GrabPointHandLeft" parent="." instance=ExtResource( 3 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, -0.015 )
-hand_pose = SubResource( 3 )
+[node name="GrabPointHandLeft" parent="." index="2" instance=ExtResource("3")]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, -0.015)
+hand_pose = SubResource("Resource_nm328")
-[node name="GrabPointHandRight" parent="." instance=ExtResource( 2 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, 0.015 )
-hand_pose = SubResource( 4 )
+[node name="GrabPointHandRight" parent="." index="3" instance=ExtResource("2")]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.069, 0.015)
+hand_pose = SubResource("Resource_4mm4i")
-[node name="GrabPointSnapSaucer" parent="." instance=ExtResource( 4 )]
+[node name="GrabPointSnapSaucer" parent="." index="4" instance=ExtResource("4")]
require_group = "Saucer"
-[node name="GrabPointSnapStand" parent="." instance=ExtResource( 4 )]
-transform = Transform( -0.110203, 0.993909, 0, -0.993909, -0.110203, 0, 0, 0, 1, 0.0788087, 0.0305528, 0 )
+[node name="GrabPointSnapStand" parent="." index="5" instance=ExtResource("4")]
+transform = Transform3D(-0.110203, 0.993909, 0, -0.993909, -0.110203, 0, 0, 0, 1, 0.0788087, 0.0305528, 0)
require_group = "TeacupStand"
diff --git a/scenes/pickable_demo/objects/teacup_stand.tscn b/scenes/pickable_demo/objects/teacup_stand.tscn
index 800accdd..4fb00d79 100644
--- a/scenes/pickable_demo/objects/teacup_stand.tscn
+++ b/scenes/pickable_demo/objects/teacup_stand.tscn
@@ -1,68 +1,88 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=8 format=3 uid="uid://b3mykwawmnxpi"]
-[ext_resource path="res://addons/godot-xr-tools/objects/snap_zone.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scenes/pickable_demo/materials/stand_metal.tres" type="Material" id=2]
+[ext_resource type="PackedScene" uid="uid://ce7vysyvondf8" path="res://addons/godot-xr-tools/objects/snap_zone.tscn" id="1"]
+[ext_resource type="Material" path="res://scenes/pickable_demo/materials/stand_metal.tres" id="2"]
-[sub_resource type="ArrayMesh" id=1]
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hqk2h"]
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_8vbk1"]
+_surfaces = [{
+"aabb": AABB(-0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064),
+"format": 4097,
+"index_count": 798,
+"index_data": PackedByteArray(42, 0, 14, 0, 44, 0, 42, 0, 28, 0, 14, 0, 14, 0, 46, 0, 44, 0, 14, 0, 16, 0, 46, 0, 2, 0, 12, 0, 1, 0, 2, 0, 13, 0, 12, 0, 16, 0, 48, 0, 46, 0, 16, 0, 18, 0, 48, 0, 15, 0, 2, 0, 3, 0, 15, 0, 13, 0, 2, 0, 18, 0, 50, 0, 48, 0, 18, 0, 19, 0, 50, 0, 17, 0, 3, 0, 4, 0, 17, 0, 15, 0, 3, 0, 19, 0, 52, 0, 50, 0, 19, 0, 20, 0, 52, 0, 21, 0, 4, 0, 5, 0, 21, 0, 17, 0, 4, 0, 20, 0, 54, 0, 52, 0, 20, 0, 24, 0, 54, 0, 22, 0, 5, 0, 6, 0, 22, 0, 21, 0, 5, 0, 22, 0, 7, 0, 23, 0, 22, 0, 6, 0, 7, 0, 24, 0, 56, 0, 54, 0, 24, 0, 26, 0, 56, 0, 26, 0, 58, 0, 56, 0, 26, 0, 38, 0, 58, 0, 23, 0, 8, 0, 25, 0, 23, 0, 7, 0, 8, 0, 38, 0, 60, 0, 58, 0, 38, 0, 29, 0, 60, 0, 9, 0, 25, 0, 8, 0, 9, 0, 36, 0, 25, 0, 29, 0, 62, 0, 60, 0, 29, 0, 32, 0, 62, 0, 10, 0, 36, 0, 9, 0, 10, 0, 30, 0, 36, 0, 62, 0, 34, 0, 39, 0, 62, 0, 32, 0, 34, 0, 31, 0, 10, 0, 11, 0, 31, 0, 30, 0, 10, 0, 0, 0, 31, 0, 11, 0, 0, 0, 33, 0, 31, 0, 10, 0, 0, 0, 11, 0, 0, 0, 2, 0, 1, 0, 2, 0, 4, 0, 3, 0, 4, 0, 6, 0, 5, 0, 6, 0, 8, 0, 7, 0, 8, 0, 10, 0, 9, 0, 10, 0, 2, 0, 0, 0, 2, 0, 6, 0, 4, 0, 6, 0, 10, 0, 8, 0, 2, 0, 10, 0, 6, 0, 12, 0, 68, 0, 66, 0, 12, 0, 13, 0, 68, 0, 13, 0, 70, 0, 68, 0, 13, 0, 15, 0, 70, 0, 15, 0, 72, 0, 70, 0, 15, 0, 17, 0, 72, 0, 17, 0, 74, 0, 72, 0, 17, 0, 21, 0, 74, 0, 27, 0, 74, 0, 21, 0, 27, 0, 76, 0, 74, 0, 76, 0, 19, 0, 78, 0, 76, 0, 27, 0, 19, 0, 19, 0, 79, 0, 78, 0, 19, 0, 18, 0, 79, 0, 18, 0, 82, 0, 79, 0, 18, 0, 16, 0, 82, 0, 16, 0, 84, 0, 82, 0, 16, 0, 14, 0, 84, 0, 14, 0, 86, 0, 84, 0, 14, 0, 28, 0, 86, 0, 28, 0, 63, 0, 86, 0, 28, 0, 35, 0, 63, 0, 35, 0, 66, 0, 63, 0, 35, 0, 12, 0, 66, 0, 27, 0, 110, 0, 19, 0, 27, 0, 88, 0, 110, 0, 23, 0, 92, 0, 22, 0, 23, 0, 94, 0, 92, 0, 25, 0, 94, 0, 23, 0, 25, 0, 96, 0, 94, 0, 25, 0, 98, 0, 96, 0, 25, 0, 36, 0, 98, 0, 100, 0, 36, 0, 37, 0, 100, 0, 98, 0, 36, 0, 100, 0, 38, 0, 102, 0, 100, 0, 37, 0, 38, 0, 26, 0, 106, 0, 104, 0, 26, 0, 24, 0, 106, 0, 24, 0, 107, 0, 106, 0, 24, 0, 20, 0, 107, 0, 107, 0, 19, 0, 110, 0, 107, 0, 20, 0, 19, 0, 88, 0, 21, 0, 89, 0, 88, 0, 27, 0, 21, 0, 21, 0, 92, 0, 89, 0, 21, 0, 22, 0, 92, 0, 112, 0, 38, 0, 37, 0, 112, 0, 134, 0, 38, 0, 118, 0, 33, 0, 120, 0, 118, 0, 31, 0, 33, 0, 121, 0, 33, 0, 12, 0, 121, 0, 120, 0, 33, 0, 12, 0, 124, 0, 121, 0, 12, 0, 35, 0, 124, 0, 126, 0, 35, 0, 28, 0, 126, 0, 124, 0, 35, 0, 28, 0, 127, 0, 126, 0, 28, 0, 34, 0, 127, 0, 34, 0, 130, 0, 127, 0, 34, 0, 32, 0, 130, 0, 130, 0, 29, 0, 132, 0, 130, 0, 32, 0, 29, 0, 38, 0, 132, 0, 29, 0, 38, 0, 134, 0, 132, 0, 112, 0, 36, 0, 114, 0, 112, 0, 37, 0, 36, 0, 43, 0, 46, 0, 45, 0, 43, 0, 44, 0, 46, 0, 47, 0, 50, 0, 49, 0, 47, 0, 48, 0, 50, 0, 49, 0, 52, 0, 51, 0, 49, 0, 50, 0, 52, 0, 53, 0, 56, 0, 55, 0, 53, 0, 54, 0, 56, 0, 57, 0, 60, 0, 59, 0, 57, 0, 58, 0, 60, 0, 59, 0, 62, 0, 61, 0, 59, 0, 60, 0, 62, 0, 40, 0, 42, 0, 41, 0, 40, 0, 39, 0, 42, 0, 41, 0, 44, 0, 43, 0, 41, 0, 42, 0, 44, 0, 45, 0, 48, 0, 47, 0, 45, 0, 46, 0, 48, 0, 51, 0, 54, 0, 53, 0, 51, 0, 52, 0, 54, 0, 55, 0, 58, 0, 57, 0, 55, 0, 56, 0, 58, 0, 39, 0, 61, 0, 62, 0, 39, 0, 40, 0, 61, 0, 49, 0, 45, 0, 47, 0, 45, 0, 41, 0, 43, 0, 41, 0, 61, 0, 40, 0, 61, 0, 57, 0, 59, 0, 57, 0, 53, 0, 55, 0, 53, 0, 49, 0, 51, 0, 49, 0, 41, 0, 45, 0, 41, 0, 57, 0, 61, 0, 57, 0, 49, 0, 53, 0, 41, 0, 49, 0, 57, 0, 64, 0, 66, 0, 65, 0, 64, 0, 63, 0, 66, 0, 65, 0, 68, 0, 67, 0, 65, 0, 66, 0, 68, 0, 67, 0, 70, 0, 69, 0, 67, 0, 68, 0, 70, 0, 69, 0, 72, 0, 71, 0, 69, 0, 70, 0, 72, 0, 71, 0, 74, 0, 73, 0, 71, 0, 72, 0, 74, 0, 80, 0, 82, 0, 81, 0, 80, 0, 79, 0, 82, 0, 63, 0, 85, 0, 86, 0, 63, 0, 64, 0, 85, 0, 73, 0, 76, 0, 75, 0, 73, 0, 74, 0, 76, 0, 77, 0, 79, 0, 80, 0, 77, 0, 78, 0, 79, 0, 81, 0, 84, 0, 83, 0, 81, 0, 82, 0, 84, 0, 83, 0, 86, 0, 85, 0, 83, 0, 84, 0, 86, 0, 75, 0, 78, 0, 77, 0, 75, 0, 76, 0, 78, 0, 73, 0, 69, 0, 71, 0, 69, 0, 65, 0, 67, 0, 65, 0, 85, 0, 64, 0, 85, 0, 81, 0, 83, 0, 81, 0, 77, 0, 80, 0, 77, 0, 73, 0, 75, 0, 73, 0, 65, 0, 69, 0, 65, 0, 81, 0, 85, 0, 81, 0, 73, 0, 77, 0, 65, 0, 73, 0, 81, 0, 90, 0, 92, 0, 91, 0, 90, 0, 89, 0, 92, 0, 91, 0, 94, 0, 93, 0, 91, 0, 92, 0, 94, 0, 93, 0, 96, 0, 95, 0, 93, 0, 94, 0, 96, 0, 101, 0, 104, 0, 103, 0, 101, 0, 102, 0, 104, 0, 103, 0, 106, 0, 105, 0, 103, 0, 104, 0, 106, 0, 108, 0, 110, 0, 109, 0, 108, 0, 107, 0, 110, 0, 99, 0, 102, 0, 101, 0, 99, 0, 100, 0, 102, 0, 87, 0, 89, 0, 90, 0, 87, 0, 88, 0, 89, 0, 97, 0, 100, 0, 99, 0, 97, 0, 98, 0, 100, 0, 105, 0, 107, 0, 108, 0, 105, 0, 106, 0, 107, 0, 88, 0, 109, 0, 110, 0, 88, 0, 87, 0, 109, 0, 95, 0, 98, 0, 97, 0, 95, 0, 96, 0, 98, 0, 103, 0, 99, 0, 101, 0, 99, 0, 95, 0, 97, 0, 95, 0, 91, 0, 93, 0, 91, 0, 87, 0, 90, 0, 87, 0, 108, 0, 109, 0, 108, 0, 103, 0, 105, 0, 103, 0, 95, 0, 99, 0, 95, 0, 87, 0, 91, 0, 87, 0, 103, 0, 108, 0, 95, 0, 103, 0, 87, 0, 113, 0, 116, 0, 115, 0, 113, 0, 114, 0, 116, 0, 117, 0, 120, 0, 119, 0, 117, 0, 118, 0, 120, 0, 128, 0, 130, 0, 129, 0, 128, 0, 127, 0, 130, 0, 111, 0, 114, 0, 113, 0, 111, 0, 112, 0, 114, 0, 115, 0, 118, 0, 117, 0, 115, 0, 116, 0, 118, 0, 122, 0, 124, 0, 123, 0, 122, 0, 121, 0, 124, 0, 125, 0, 127, 0, 128, 0, 125, 0, 126, 0, 127, 0, 129, 0, 132, 0, 131, 0, 129, 0, 130, 0, 132, 0, 131, 0, 134, 0, 133, 0, 131, 0, 132, 0, 134, 0, 119, 0, 121, 0, 122, 0, 119, 0, 120, 0, 121, 0, 123, 0, 126, 0, 125, 0, 123, 0, 124, 0, 126, 0, 112, 0, 133, 0, 134, 0, 112, 0, 111, 0, 133, 0, 133, 0, 129, 0, 131, 0, 129, 0, 125, 0, 128, 0, 125, 0, 122, 0, 123, 0, 122, 0, 117, 0, 119, 0, 117, 0, 113, 0, 115, 0, 113, 0, 133, 0, 111, 0, 133, 0, 125, 0, 129, 0, 125, 0, 117, 0, 122, 0, 117, 0, 133, 0, 113, 0, 125, 0, 133, 0, 117, 0, 12, 0, 0, 0, 1, 0, 12, 0, 33, 0, 0, 0, 39, 0, 28, 0, 42, 0, 39, 0, 34, 0, 28, 0, 38, 0, 104, 0, 102, 0, 38, 0, 26, 0, 104, 0, 30, 0, 118, 0, 116, 0, 30, 0, 31, 0, 118, 0, 36, 0, 116, 0, 114, 0, 36, 0, 30, 0, 116, 0),
+"lods": [0.016668, PackedByteArray(52, 0, 28, 0, 14, 0, 14, 0, 19, 0, 52, 0, 19, 0, 20, 0, 52, 0, 20, 0, 38, 0, 52, 0, 38, 0, 29, 0, 52, 0, 52, 0, 29, 0, 34, 0, 52, 0, 34, 0, 39, 0, 39, 0, 28, 0, 52, 0, 39, 0, 34, 0, 28, 0, 9, 0, 17, 0, 12, 0, 21, 0, 17, 0, 9, 0, 12, 0, 33, 0, 0, 0, 12, 0, 0, 0, 9, 0, 25, 0, 21, 0, 9, 0, 9, 0, 36, 0, 25, 0, 9, 0, 30, 0, 36, 0, 0, 0, 30, 0, 9, 0, 0, 0, 33, 0, 30, 0, 12, 0, 68, 0, 66, 0, 35, 0, 12, 0, 66, 0, 35, 0, 66, 0, 63, 0, 64, 0, 63, 0, 66, 0, 64, 0, 66, 0, 65, 0, 65, 0, 66, 0, 68, 0, 65, 0, 68, 0, 67, 0, 12, 0, 17, 0, 68, 0, 17, 0, 70, 0, 68, 0, 67, 0, 68, 0, 70, 0, 67, 0, 70, 0, 69, 0, 17, 0, 72, 0, 70, 0, 69, 0, 70, 0, 72, 0, 69, 0, 72, 0, 71, 0, 17, 0, 74, 0, 72, 0, 71, 0, 72, 0, 74, 0, 71, 0, 74, 0, 73, 0, 17, 0, 21, 0, 74, 0, 27, 0, 74, 0, 21, 0, 27, 0, 76, 0, 74, 0, 73, 0, 74, 0, 76, 0, 73, 0, 76, 0, 75, 0, 76, 0, 27, 0, 19, 0, 76, 0, 19, 0, 78, 0, 75, 0, 76, 0, 78, 0, 75, 0, 78, 0, 77, 0, 19, 0, 79, 0, 78, 0, 77, 0, 78, 0, 79, 0, 77, 0, 79, 0, 80, 0, 19, 0, 14, 0, 79, 0, 14, 0, 82, 0, 79, 0, 80, 0, 79, 0, 82, 0, 80, 0, 82, 0, 81, 0, 14, 0, 84, 0, 82, 0, 81, 0, 82, 0, 84, 0, 81, 0, 84, 0, 83, 0, 14, 0, 86, 0, 84, 0, 83, 0, 84, 0, 86, 0, 83, 0, 86, 0, 85, 0, 14, 0, 28, 0, 86, 0, 28, 0, 63, 0, 86, 0, 28, 0, 35, 0, 63, 0, 63, 0, 85, 0, 86, 0, 63, 0, 64, 0, 85, 0, 27, 0, 110, 0, 19, 0, 27, 0, 88, 0, 110, 0, 88, 0, 109, 0, 110, 0, 88, 0, 87, 0, 109, 0, 108, 0, 110, 0, 109, 0, 108, 0, 107, 0, 110, 0, 107, 0, 19, 0, 110, 0, 107, 0, 20, 0, 19, 0, 105, 0, 107, 0, 108, 0, 105, 0, 106, 0, 107, 0, 20, 0, 107, 0, 106, 0, 103, 0, 106, 0, 105, 0, 103, 0, 104, 0, 106, 0, 20, 0, 106, 0, 104, 0, 38, 0, 20, 0, 104, 0, 101, 0, 104, 0, 103, 0, 101, 0, 102, 0, 104, 0, 38, 0, 104, 0, 102, 0, 99, 0, 102, 0, 101, 0, 99, 0, 100, 0, 102, 0, 100, 0, 38, 0, 102, 0, 100, 0, 37, 0, 38, 0, 100, 0, 36, 0, 37, 0, 97, 0, 100, 0, 99, 0, 97, 0, 98, 0, 100, 0, 100, 0, 98, 0, 36, 0, 25, 0, 36, 0, 98, 0, 95, 0, 98, 0, 97, 0, 95, 0, 96, 0, 98, 0, 25, 0, 98, 0, 96, 0, 93, 0, 96, 0, 95, 0, 93, 0, 94, 0, 96, 0, 25, 0, 96, 0, 94, 0, 91, 0, 94, 0, 93, 0, 91, 0, 92, 0, 94, 0, 25, 0, 94, 0, 92, 0, 21, 0, 25, 0, 92, 0, 90, 0, 92, 0, 91, 0, 90, 0, 89, 0, 92, 0, 21, 0, 92, 0, 89, 0, 88, 0, 21, 0, 89, 0, 88, 0, 27, 0, 21, 0, 87, 0, 88, 0, 89, 0, 87, 0, 89, 0, 90, 0, 112, 0, 38, 0, 37, 0, 112, 0, 111, 0, 133, 0, 112, 0, 133, 0, 134, 0, 112, 0, 134, 0, 38, 0, 131, 0, 134, 0, 133, 0, 131, 0, 132, 0, 134, 0, 38, 0, 134, 0, 132, 0, 38, 0, 132, 0, 29, 0, 129, 0, 132, 0, 131, 0, 129, 0, 130, 0, 132, 0, 130, 0, 29, 0, 132, 0, 34, 0, 29, 0, 130, 0, 128, 0, 130, 0, 129, 0, 128, 0, 127, 0, 130, 0, 34, 0, 130, 0, 127, 0, 28, 0, 34, 0, 127, 0, 125, 0, 127, 0, 128, 0, 125, 0, 126, 0, 127, 0, 28, 0, 127, 0, 126, 0, 126, 0, 35, 0, 28, 0, 123, 0, 126, 0, 125, 0, 123, 0, 124, 0, 126, 0, 126, 0, 124, 0, 35, 0, 12, 0, 35, 0, 124, 0, 122, 0, 124, 0, 123, 0, 122, 0, 121, 0, 124, 0, 12, 0, 124, 0, 121, 0, 121, 0, 33, 0, 12, 0, 119, 0, 121, 0, 122, 0, 119, 0, 120, 0, 121, 0, 121, 0, 120, 0, 33, 0, 117, 0, 120, 0, 119, 0, 117, 0, 118, 0, 120, 0, 118, 0, 33, 0, 120, 0, 118, 0, 30, 0, 33, 0, 115, 0, 118, 0, 117, 0, 115, 0, 116, 0, 118, 0, 30, 0, 118, 0, 116, 0, 36, 0, 30, 0, 116, 0, 113, 0, 116, 0, 115, 0, 113, 0, 114, 0, 116, 0, 36, 0, 116, 0, 114, 0, 112, 0, 36, 0, 114, 0, 112, 0, 37, 0, 36, 0, 111, 0, 112, 0, 114, 0, 111, 0, 114, 0, 113, 0, 73, 0, 69, 0, 71, 0, 73, 0, 65, 0, 69, 0, 69, 0, 65, 0, 67, 0, 77, 0, 73, 0, 75, 0, 81, 0, 73, 0, 77, 0, 65, 0, 73, 0, 81, 0, 81, 0, 77, 0, 80, 0, 65, 0, 81, 0, 85, 0, 85, 0, 81, 0, 83, 0, 65, 0, 85, 0, 64, 0, 103, 0, 99, 0, 101, 0, 103, 0, 95, 0, 99, 0, 99, 0, 95, 0, 97, 0, 108, 0, 103, 0, 105, 0, 87, 0, 103, 0, 108, 0, 95, 0, 103, 0, 87, 0, 87, 0, 108, 0, 109, 0, 95, 0, 87, 0, 91, 0, 91, 0, 87, 0, 90, 0, 95, 0, 91, 0, 93, 0, 133, 0, 129, 0, 131, 0, 133, 0, 125, 0, 129, 0, 129, 0, 125, 0, 128, 0, 113, 0, 133, 0, 111, 0, 117, 0, 133, 0, 113, 0, 125, 0, 133, 0, 117, 0, 117, 0, 113, 0, 115, 0, 125, 0, 117, 0, 122, 0, 122, 0, 117, 0, 119, 0, 125, 0, 122, 0, 123, 0)],
+"primitive": 3,
+"vertex_count": 135,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189)
+}]
+blend_shape_mode = 0
+
+[sub_resource type="ArrayMesh" id="ArrayMesh_sini6"]
resource_name = "stand_Cylinder"
-surfaces/0 = {
-"aabb": AABB( -0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064 ),
-"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 129, 126, 130, 63, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 129, 126, 130, 63, 0, 60, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 129, 127, 193, 0, 58, 20, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 0, 129, 127, 193, 245, 58, 86, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 127, 80, 129, 40, 85, 59, 0, 56, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 0, 129, 127, 193, 169, 59, 10, 57, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 127, 46, 129, 23, 170, 58, 0, 56, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 0, 129, 127, 193, 235, 59, 0, 58, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 127, 0, 127, 1, 0, 58, 0, 56, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 0, 129, 127, 193, 169, 59, 245, 58, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 80, 0, 127, 23, 85, 57, 0, 56, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 0, 129, 126, 193, 245, 58, 169, 59, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 46, 0, 127, 40, 170, 56, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 0, 129, 127, 193, 0, 58, 235, 59, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 210, 0, 80, 63, 170, 54, 0, 56, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 0, 129, 127, 193, 10, 57, 169, 59, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 176, 0, 46, 63, 85, 53, 0, 56, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 0, 129, 127, 193, 86, 56, 245, 58, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 63, 0, 52, 0, 56, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 0, 129, 127, 193, 20, 56, 0, 58, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 129, 46, 210, 63, 85, 49, 0, 56, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 0, 129, 127, 193, 86, 56, 10, 57, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 129, 80, 176, 63, 85, 45, 0, 56, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 0, 129, 126, 193, 10, 57, 86, 56, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 84, 129, 42, 126, 85, 59, 153, 55, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 127, 80, 130, 86, 85, 59, 85, 41, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 92, 188, 223, 26, 170, 56, 153, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 50, 129, 180, 126, 170, 58, 78, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 127, 50, 130, 25, 170, 58, 29, 42, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 50, 127, 0, 88, 85, 49, 78, 55, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 127, 50, 130, 101, 170, 58, 214, 36, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 0, 129, 129, 127, 0, 58, 51, 55, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 102, 42, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 0, 127, 0, 63, 0, 52, 51, 55, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 68, 36, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 0, 180, 180, 1, 85, 57, 78, 55, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 76, 0, 126, 25, 85, 57, 29, 42, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 0, 76, 0, 38, 85, 53, 78, 55, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 76, 0, 126, 101, 85, 57, 214, 36, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 0, 42, 0, 21, 170, 54, 153, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 102, 38, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 58, 34, 204, 110, 85, 45, 153, 55, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 7, 0, 126, 59, 0, 56, 214, 36, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 7, 0, 126, 59, 0, 56, 214, 36, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 38, 66, 171, 99, 85, 49, 78, 55, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 0, 214, 214, 1, 170, 56, 153, 55, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 85, 41, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 58, 222, 33, 100, 85, 59, 153, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 7, 0, 126, 67, 0, 56, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 38, 190, 54, 84, 170, 58, 78, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 38, 190, 54, 84, 170, 58, 78, 55, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 0, 130, 80, 63, 0, 58, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 210, 0, 80, 63, 170, 54, 68, 36, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 0, 126, 130, 40, 0, 52, 51, 55, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 171, 0, 41, 63, 85, 53, 29, 42, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 196, 168, 54, 42, 85, 57, 78, 55, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 171, 0, 41, 63, 85, 53, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 196, 88, 171, 27, 85, 53, 78, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 0, 0, 0, 1, 0, 56, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 80, 0, 0, 126, 0, 0, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 80, 0, 0, 126, 0, 60, 137, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 84, 127, 0, 105, 85, 45, 153, 55, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 127, 80, 176, 101, 85, 59, 102, 38, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 92, 68, 52, 16, 170, 54, 153, 55, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 129, 215, 215, 63, 85, 49, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 129, 215, 215, 63, 85, 49, 214, 36, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 218, 66, 85, 99, 85, 49, 78, 55, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 218, 66, 85, 99, 85, 49, 78, 55, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 129, 41, 215, 63, 85, 49, 29, 42, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 218, 190, 202, 84, 170, 58, 78, 55, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 129, 80, 176, 63, 85, 45, 102, 42, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 0, 130, 176, 63, 0, 58, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 130, 176, 176, 63, 85, 45, 68, 36, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 126, 126, 40, 0, 52, 51, 55, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 126, 126, 40, 0, 52, 51, 55, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 127, 119, 130, 59, 0, 0, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 127, 119, 130, 67, 0, 60, 29, 42, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 60, 168, 202, 42, 85, 57, 78, 55, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 126, 137, 130, 59, 0, 0, 214, 36, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 126, 137, 221, 110, 0, 60, 137, 52, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 60, 88, 85, 27, 85, 53, 78, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 126, 0, 0, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 126, 0, 60, 137, 55, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 126, 46, 0, 1, 0, 56, 137, 55, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 129, 0, 0, 63, 0, 52, 85, 41, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 164, 188, 33, 26, 170, 56, 153, 55, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 198, 222, 223, 100, 85, 59, 153, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 176, 0, 0, 126, 0, 0, 137, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 176, 0, 0, 126, 0, 60, 137, 55, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 130, 46, 0, 1, 0, 56, 137, 55, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 130, 0, 0, 63, 0, 52, 102, 38, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 198, 34, 52, 110, 85, 45, 153, 55, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 164, 68, 204, 16, 170, 54, 153, 55, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 130, 130, 130, 63, 0, 0, 211, 30, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 130, 130, 239, 118, 0, 60, 102, 46, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 62, 126, 126, 63, 0, 52, 20, 56, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 0, 126, 126, 63, 255, 51, 224, 56, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 62, 126, 126, 63, 255, 51, 224, 56, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 0, 126, 126, 63, 31, 53, 6, 57, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 72, 100, 85, 43, 31, 53, 6, 57, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 72, 100, 85, 43, 235, 53, 86, 56, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 127, 80, 180, 102, 85, 59, 211, 30, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 0, 126, 126, 63, 242, 53, 112, 57, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 72, 81, 69, 34, 242, 53, 112, 57, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 72, 81, 69, 34, 83, 55, 10, 57, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 127, 46, 129, 103, 170, 58, 211, 30, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 0, 126, 126, 63, 63, 54, 0, 58, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 62, 64, 64, 32, 63, 54, 0, 58, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 62, 64, 64, 32, 215, 55, 0, 58, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 211, 30, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 127, 0, 126, 1, 0, 58, 211, 30, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 0, 126, 126, 63, 242, 53, 143, 58, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 45, 54, 69, 34, 242, 53, 143, 58, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 45, 54, 69, 34, 83, 55, 245, 58, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 80, 0, 127, 103, 85, 57, 211, 30, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 80, 0, 126, 23, 85, 57, 211, 30, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 0, 126, 126, 63, 31, 53, 249, 58, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 26, 54, 86, 42, 31, 53, 249, 58, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 26, 54, 86, 42, 235, 53, 169, 59, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 46, 0, 126, 40, 170, 56, 211, 30, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 64, 126, 63, 0, 52, 31, 59, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 0, 126, 126, 63, 0, 52, 31, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 64, 126, 63, 0, 52, 235, 59, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 211, 30, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 0, 0, 126, 63, 0, 56, 211, 30, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 230, 54, 85, 83, 192, 49, 249, 58, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 0, 126, 126, 63, 192, 49, 249, 58, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 210, 0, 80, 63, 170, 54, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 230, 54, 85, 83, 40, 48, 169, 59, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 211, 54, 69, 92, 26, 48, 143, 58, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 0, 126, 126, 63, 26, 48, 143, 58, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 176, 0, 46, 63, 85, 53, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 211, 54, 69, 92, 101, 41, 245, 58, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 194, 64, 64, 94, 0, 47, 0, 58, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 0, 126, 126, 63, 0, 47, 0, 58, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 130, 0, 0, 63, 0, 52, 211, 30, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 194, 64, 64, 94, 30, 33, 0, 58, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 184, 81, 69, 92, 26, 48, 112, 57, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 0, 126, 126, 63, 26, 48, 112, 57, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 129, 210, 210, 63, 85, 49, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 129, 210, 210, 63, 85, 49, 211, 30, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 184, 81, 69, 92, 101, 41, 10, 57, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 184, 100, 86, 84, 192, 49, 6, 57, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 0, 126, 126, 63, 192, 49, 6, 57, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 130, 176, 176, 63, 85, 45, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 130, 176, 176, 63, 85, 45, 211, 30, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 184, 100, 86, 84, 40, 48, 86, 56, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 127, 0, 0, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 127, 0, 127, 0, 60, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 62, 13, 113, 0, 0, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 127, 62, 229, 120, 0, 60, 30, 37, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 62, 13, 113, 106, 36, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 62, 229, 120, 220, 59, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 127, 0, 0, 1, 255, 51, 224, 56, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 100, 184, 195, 121, 49, 59, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 100, 184, 45, 121, 120, 59, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 127, 0, 0, 1, 31, 53, 6, 57, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 80, 129, 46, 127, 85, 59, 30, 37, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 100, 184, 195, 121, 85, 59, 30, 37, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 81, 184, 163, 121, 135, 58, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 81, 184, 76, 121, 206, 58, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 127, 0, 0, 1, 242, 53, 112, 57, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 46, 129, 176, 127, 170, 58, 30, 37, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 81, 184, 163, 121, 170, 58, 30, 37, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 64, 194, 143, 6, 220, 57, 0, 0, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 64, 194, 113, 120, 35, 58, 0, 0, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 127, 0, 0, 1, 63, 54, 0, 58, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 0, 129, 129, 127, 0, 58, 30, 37, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 64, 194, 143, 6, 0, 58, 30, 37, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 54, 211, 180, 5, 49, 57, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 54, 211, 93, 5, 120, 57, 0, 0, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 127, 0, 0, 1, 242, 53, 143, 58, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 0, 176, 80, 1, 85, 57, 30, 37, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 54, 211, 180, 5, 85, 57, 30, 37, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 54, 230, 211, 5, 135, 56, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 54, 230, 61, 5, 206, 56, 0, 0, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 127, 0, 0, 1, 31, 53, 249, 58, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 0, 210, 210, 1, 170, 56, 30, 37, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 54, 230, 211, 5, 170, 56, 30, 37, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 64, 0, 243, 13, 185, 55, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 64, 0, 27, 6, 35, 56, 0, 0, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 127, 0, 0, 1, 0, 52, 31, 59, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 0, 0, 0, 1, 0, 56, 30, 37, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 64, 0, 243, 13, 0, 56, 30, 37, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 54, 26, 246, 30, 99, 54, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 54, 26, 11, 22, 241, 54, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 127, 0, 0, 1, 192, 49, 249, 58, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 0, 46, 0, 23, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 0, 46, 0, 23, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 54, 26, 246, 30, 170, 54, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 54, 26, 11, 22, 170, 54, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 0, 80, 0, 40, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 0, 80, 0, 40, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 54, 45, 245, 46, 85, 53, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 54, 45, 10, 38, 85, 53, 30, 37, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 54, 45, 245, 46, 14, 53, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 54, 45, 10, 38, 156, 53, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 127, 0, 0, 1, 26, 48, 143, 58, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 64, 62, 243, 70, 114, 51, 0, 0, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 64, 62, 13, 56, 70, 52, 0, 0, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 127, 0, 0, 1, 0, 47, 0, 58, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 0, 127, 0, 63, 0, 52, 30, 37, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 64, 62, 243, 70, 0, 52, 30, 37, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 81, 72, 246, 88, 199, 48, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 81, 72, 11, 80, 226, 49, 0, 0, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 127, 0, 0, 1, 26, 48, 112, 57, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 46, 127, 0, 86, 85, 49, 30, 37, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 81, 72, 246, 88, 85, 49, 30, 37, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 100, 72, 245, 104, 58, 44, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 100, 72, 10, 96, 112, 46, 0, 0, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 127, 0, 0, 1, 192, 49, 6, 57, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 80, 127, 0, 103, 85, 45, 30, 37, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 100, 72, 10, 96, 85, 45, 30, 37, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 210, 0, 0, 1, 0, 52, 224, 56, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 25, 0, 237, 114, 106, 36, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 25, 0, 24, 117, 220, 59, 0, 0, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 25, 0, 237, 114, 0, 0, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 25, 0, 24, 117, 0, 60, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 80, 0, 0, 126, 0, 0, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 80, 0, 0, 126, 0, 60, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 14, 226, 22, 103, 85, 59, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 56, 219, 35, 99, 85, 59, 30, 37, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 210, 0, 0, 1, 31, 53, 6, 57, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 14, 226, 48, 95, 49, 59, 0, 0, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 14, 226, 22, 103, 120, 59, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 210, 0, 0, 1, 242, 53, 112, 57, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 251, 204, 69, 78, 135, 58, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 251, 204, 45, 85, 206, 58, 0, 0, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 251, 204, 69, 78, 170, 58, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 35, 185, 56, 82, 170, 58, 30, 37, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 210, 0, 0, 1, 63, 54, 0, 58, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 229, 204, 81, 57, 220, 57, 0, 0, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 229, 204, 65, 69, 35, 58, 0, 0, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 229, 204, 81, 57, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 229, 204, 65, 69, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 0, 130, 80, 63, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 0, 130, 80, 63, 0, 58, 30, 37, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 207, 212, 57, 39, 49, 57, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 207, 212, 55, 49, 120, 57, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 210, 0, 0, 1, 242, 53, 143, 58, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 207, 212, 55, 49, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 207, 212, 57, 39, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 201, 165, 56, 44, 85, 57, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 201, 165, 56, 44, 85, 57, 30, 37, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 184, 228, 35, 21, 135, 56, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 184, 228, 35, 33, 206, 56, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 210, 0, 0, 1, 31, 53, 249, 58, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 184, 228, 35, 33, 170, 56, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 167, 186, 35, 27, 170, 56, 30, 37, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 158, 0, 232, 2, 185, 55, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 158, 0, 5, 12, 35, 56, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 210, 0, 0, 1, 255, 51, 31, 59, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 158, 0, 5, 12, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 158, 0, 232, 2, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 130, 46, 0, 1, 0, 56, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 130, 46, 0, 1, 0, 56, 30, 37, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 184, 28, 189, 17, 99, 54, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 184, 28, 214, 17, 241, 54, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 210, 0, 0, 1, 192, 49, 249, 58, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 184, 28, 214, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 184, 28, 189, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 167, 70, 201, 17, 170, 54, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 167, 70, 201, 17, 170, 54, 30, 37, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 207, 44, 158, 27, 14, 53, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 207, 44, 177, 28, 156, 53, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 210, 0, 0, 1, 26, 48, 143, 58, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 44, 177, 28, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 207, 44, 158, 27, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 201, 91, 167, 28, 85, 53, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 201, 91, 167, 28, 85, 53, 30, 37, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 210, 0, 0, 1, 0, 47, 0, 58, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 229, 52, 141, 94, 114, 51, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 229, 52, 142, 40, 70, 52, 0, 0, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 229, 52, 141, 94, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 0, 126, 130, 40, 0, 52, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 251, 52, 159, 92, 85, 49, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 35, 71, 167, 98, 85, 49, 30, 37, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 210, 0, 0, 1, 26, 48, 112, 57, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 251, 52, 174, 104, 199, 48, 0, 0, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 251, 52, 159, 92, 226, 49, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 210, 0, 0, 1, 192, 49, 6, 57, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 14, 30, 209, 115, 58, 44, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 14, 30, 193, 102, 112, 46, 0, 0, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 14, 30, 209, 115, 85, 45, 30, 37, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 56, 37, 201, 109, 85, 45, 30, 37, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 228, 24, 124, 106, 36, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 228, 251, 114, 220, 59, 0, 0, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 130, 80, 0, 1, 0, 52, 224, 56, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 130, 228, 24, 124, 0, 0, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 130, 228, 251, 114, 0, 60, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 176, 0, 0, 126, 0, 0, 30, 37, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 176, 0, 0, 126, 0, 60, 30, 37, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 158, 202, 221, 93, 49, 59, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 158, 202, 221, 105, 120, 59, 0, 0, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 130, 80, 0, 1, 31, 53, 6, 57, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 158, 202, 221, 105, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 158, 202, 221, 93, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 200, 219, 221, 99, 85, 59, 30, 37, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 200, 219, 221, 99, 85, 59, 30, 37, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 174, 179, 201, 77, 135, 58, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 174, 179, 199, 87, 206, 58, 0, 0, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 130, 80, 0, 1, 242, 53, 112, 57, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 174, 179, 201, 77, 170, 58, 30, 37, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 221, 185, 200, 82, 170, 58, 30, 37, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 130, 80, 0, 1, 63, 54, 0, 58, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 182, 157, 191, 57, 220, 57, 0, 0, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 182, 157, 175, 69, 35, 58, 0, 0, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 182, 157, 175, 69, 0, 58, 30, 37, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 0, 130, 176, 63, 0, 58, 30, 37, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 130, 80, 0, 1, 242, 53, 143, 58, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 182, 135, 211, 41, 49, 57, 0, 0, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 182, 135, 187, 48, 120, 57, 0, 0, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 182, 135, 211, 41, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 182, 135, 187, 48, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 55, 165, 200, 44, 85, 57, 30, 37, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 55, 165, 200, 44, 85, 57, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 96, 144, 208, 31, 170, 56, 30, 37, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 89, 186, 221, 27, 170, 56, 30, 37, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 130, 80, 0, 1, 31, 53, 249, 58, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 96, 144, 234, 23, 135, 56, 0, 0, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 96, 144, 208, 31, 206, 56, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 130, 80, 0, 1, 0, 52, 31, 59, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 127, 101, 19, 12, 185, 55, 0, 0, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 127, 101, 232, 9, 35, 56, 0, 0, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 127, 101, 19, 12, 0, 56, 30, 37, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 126, 46, 0, 1, 0, 56, 30, 37, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 130, 80, 0, 1, 192, 49, 249, 58, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 96, 112, 63, 24, 99, 54, 0, 0, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 96, 112, 47, 11, 241, 54, 0, 0, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 96, 112, 47, 11, 170, 54, 30, 37, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 89, 70, 55, 17, 170, 54, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 182, 121, 97, 34, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 182, 121, 82, 22, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 55, 91, 89, 28, 85, 53, 30, 37, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 55, 91, 89, 28, 85, 53, 30, 37, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 130, 80, 0, 1, 26, 48, 143, 58, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 182, 121, 97, 34, 14, 53, 0, 0, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 182, 121, 82, 22, 156, 53, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 130, 80, 0, 1, 0, 47, 0, 58, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 182, 99, 114, 86, 114, 51, 0, 0, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 182, 99, 115, 32, 70, 52, 0, 0, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 182, 99, 115, 32, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 182, 99, 114, 86, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 0, 127, 127, 40, 0, 52, 30, 37, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 0, 127, 127, 40, 0, 52, 30, 37, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 174, 77, 79, 98, 199, 48, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 174, 77, 98, 99, 226, 49, 0, 0, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 130, 80, 0, 1, 26, 48, 112, 57, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 174, 77, 79, 98, 85, 49, 30, 37, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 221, 71, 89, 98, 85, 49, 30, 37, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 158, 54, 42, 109, 58, 44, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 158, 54, 67, 109, 112, 46, 0, 0, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 130, 80, 0, 1, 192, 49, 6, 57, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 158, 54, 42, 109, 85, 45, 30, 37, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 200, 37, 55, 109, 85, 45, 30, 37 ),
-"array_index_data": PoolByteArray( 104, 0, 31, 0, 108, 0, 104, 0, 65, 0, 31, 0, 31, 0, 113, 0, 108, 0, 31, 0, 35, 0, 113, 0, 6, 0, 26, 0, 4, 0, 6, 0, 29, 0, 26, 0, 35, 0, 118, 0, 112, 0, 35, 0, 39, 0, 118, 0, 33, 0, 6, 0, 8, 0, 33, 0, 29, 0, 6, 0, 39, 0, 122, 0, 117, 0, 39, 0, 41, 0, 122, 0, 37, 0, 8, 0, 10, 0, 37, 0, 33, 0, 8, 0, 41, 0, 127, 0, 122, 0, 41, 0, 44, 0, 127, 0, 47, 0, 10, 0, 12, 0, 47, 0, 37, 0, 10, 0, 43, 0, 130, 0, 126, 0, 43, 0, 55, 0, 130, 0, 49, 0, 12, 0, 13, 0, 49, 0, 47, 0, 12, 0, 49, 0, 15, 0, 53, 0, 49, 0, 13, 0, 15, 0, 55, 0, 134, 0, 130, 0, 55, 0, 59, 0, 134, 0, 59, 0, 138, 0, 134, 0, 59, 0, 93, 0, 138, 0, 52, 0, 17, 0, 57, 0, 52, 0, 15, 0, 17, 0, 93, 0, 143, 0, 138, 0, 93, 0, 68, 0, 143, 0, 19, 0, 57, 0, 17, 0, 19, 0, 87, 0, 57, 0, 67, 0, 148, 0, 142, 0, 67, 0, 75, 0, 148, 0, 21, 0, 87, 0, 19, 0, 21, 0, 71, 0, 87, 0, 147, 0, 81, 0, 96, 0, 147, 0, 75, 0, 81, 0, 73, 0, 21, 0, 23, 0, 73, 0, 71, 0, 21, 0, 0, 0, 73, 0, 23, 0, 0, 0, 78, 0, 73, 0, 22, 0, 2, 0, 24, 0, 2, 0, 5, 0, 3, 0, 5, 0, 9, 0, 7, 0, 9, 0, 14, 0, 11, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 5, 0, 2, 0, 5, 0, 14, 0, 9, 0, 14, 0, 22, 0, 18, 0, 5, 0, 22, 0, 14, 0, 25, 0, 165, 0, 160, 0, 25, 0, 28, 0, 165, 0, 28, 0, 170, 0, 165, 0, 28, 0, 32, 0, 170, 0, 32, 0, 175, 0, 170, 0, 32, 0, 36, 0, 175, 0, 36, 0, 180, 0, 175, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 185, 0, 40, 0, 191, 0, 185, 0, 61, 0, 40, 0, 40, 0, 195, 0, 190, 0, 40, 0, 38, 0, 195, 0, 38, 0, 204, 0, 194, 0, 38, 0, 34, 0, 204, 0, 34, 0, 209, 0, 204, 0, 34, 0, 30, 0, 209, 0, 30, 0, 214, 0, 209, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 85, 0, 160, 0, 151, 0, 85, 0, 25, 0, 160, 0, 62, 0, 31, 1, 42, 0, 62, 0, 221, 0, 31, 1, 54, 0, 232, 0, 50, 0, 54, 0, 239, 0, 232, 0, 58, 0, 238, 0, 54, 0, 58, 0, 245, 0, 238, 0, 58, 0, 251, 0, 246, 0, 58, 0, 88, 0, 251, 0, 1, 1, 88, 0, 92, 0, 1, 1, 251, 0, 88, 0, 2, 1, 95, 0, 8, 1, 2, 1, 92, 0, 95, 0, 60, 0, 21, 1, 16, 1, 60, 0, 56, 0, 21, 1, 56, 0, 23, 1, 21, 1, 56, 0, 45, 0, 23, 1, 23, 1, 42, 0, 31, 1, 23, 1, 45, 0, 42, 0, 222, 0, 48, 0, 224, 0, 222, 0, 63, 0, 48, 0, 48, 0, 232, 0, 224, 0, 48, 0, 51, 0, 232, 0, 37, 1, 94, 0, 90, 0, 37, 1, 101, 1, 94, 0, 55, 1, 80, 0, 62, 1, 55, 1, 74, 0, 80, 0, 64, 1, 80, 0, 27, 0, 64, 1, 61, 1, 80, 0, 27, 0, 72, 1, 64, 1, 27, 0, 86, 0, 72, 1, 77, 1, 86, 0, 66, 0, 77, 1, 72, 1, 86, 0, 66, 0, 81, 1, 77, 1, 66, 0, 83, 0, 81, 1, 83, 0, 90, 1, 80, 1, 83, 0, 77, 0, 90, 1, 91, 1, 69, 0, 96, 1, 91, 1, 76, 0, 69, 0, 94, 0, 96, 1, 70, 0, 94, 0, 101, 1, 96, 1, 38, 1, 89, 0, 44, 1, 38, 1, 91, 0, 89, 0, 106, 0, 111, 0, 110, 0, 106, 0, 107, 0, 111, 0, 115, 0, 121, 0, 120, 0, 115, 0, 116, 0, 121, 0, 120, 0, 125, 0, 123, 0, 120, 0, 121, 0, 125, 0, 128, 0, 135, 0, 132, 0, 128, 0, 131, 0, 135, 0, 136, 0, 144, 0, 140, 0, 136, 0, 139, 0, 144, 0, 140, 0, 149, 0, 145, 0, 140, 0, 144, 0, 149, 0, 100, 0, 103, 0, 102, 0, 100, 0, 98, 0, 103, 0, 102, 0, 107, 0, 106, 0, 102, 0, 103, 0, 107, 0, 110, 0, 116, 0, 115, 0, 110, 0, 111, 0, 116, 0, 123, 0, 131, 0, 128, 0, 123, 0, 125, 0, 131, 0, 132, 0, 139, 0, 136, 0, 132, 0, 135, 0, 139, 0, 98, 0, 145, 0, 149, 0, 98, 0, 100, 0, 145, 0, 119, 0, 109, 0, 114, 0, 109, 0, 101, 0, 105, 0, 101, 0, 146, 0, 99, 0, 146, 0, 137, 0, 141, 0, 137, 0, 129, 0, 133, 0, 129, 0, 119, 0, 124, 0, 119, 0, 101, 0, 109, 0, 101, 0, 137, 0, 146, 0, 137, 0, 119, 0, 129, 0, 101, 0, 119, 0, 137, 0, 155, 0, 161, 0, 158, 0, 155, 0, 153, 0, 161, 0, 157, 0, 166, 0, 163, 0, 157, 0, 161, 0, 166, 0, 162, 0, 171, 0, 168, 0, 162, 0, 166, 0, 171, 0, 167, 0, 176, 0, 173, 0, 167, 0, 171, 0, 176, 0, 172, 0, 181, 0, 178, 0, 172, 0, 176, 0, 181, 0, 198, 0, 205, 0, 202, 0, 198, 0, 196, 0, 205, 0, 152, 0, 211, 0, 215, 0, 152, 0, 154, 0, 211, 0, 177, 0, 186, 0, 183, 0, 177, 0, 181, 0, 186, 0, 187, 0, 197, 0, 199, 0, 187, 0, 192, 0, 197, 0, 201, 0, 210, 0, 207, 0, 201, 0, 205, 0, 210, 0, 206, 0, 215, 0, 212, 0, 206, 0, 210, 0, 215, 0, 182, 0, 193, 0, 188, 0, 182, 0, 186, 0, 193, 0, 179, 0, 169, 0, 174, 0, 169, 0, 159, 0, 164, 0, 159, 0, 213, 0, 156, 0, 213, 0, 203, 0, 208, 0, 203, 0, 189, 0, 200, 0, 189, 0, 179, 0, 184, 0, 179, 0, 159, 0, 169, 0, 159, 0, 203, 0, 213, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 229, 0, 237, 0, 235, 0, 229, 0, 231, 0, 237, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 3, 1, 13, 1, 11, 1, 3, 1, 7, 1, 13, 1, 10, 1, 20, 1, 19, 1, 10, 1, 14, 1, 20, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 252, 0, 6, 1, 4, 1, 252, 0, 0, 1, 6, 1, 218, 0, 223, 0, 227, 0, 218, 0, 220, 0, 223, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 240, 0, 250, 0, 248, 0, 240, 0, 244, 0, 250, 0, 12, 1, 254, 0, 5, 1, 254, 0, 242, 0, 249, 0, 242, 0, 228, 0, 233, 0, 228, 0, 216, 0, 225, 0, 216, 0, 24, 1, 27, 1, 24, 1, 12, 1, 17, 1, 12, 1, 242, 0, 254, 0, 242, 0, 216, 0, 228, 0, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 39, 1, 49, 1, 47, 1, 39, 1, 43, 1, 49, 1, 52, 1, 60, 1, 58, 1, 52, 1, 54, 1, 60, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 33, 1, 42, 1, 40, 1, 33, 1, 36, 1, 42, 1, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 74, 1, 79, 1, 84, 1, 74, 1, 76, 1, 79, 1, 86, 1, 95, 1, 93, 1, 86, 1, 89, 1, 95, 1, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 35, 1, 97, 1, 100, 1, 35, 1, 32, 1, 97, 1, 99, 1, 85, 1, 94, 1, 85, 1, 73, 1, 82, 1, 73, 1, 65, 1, 68, 1, 65, 1, 51, 1, 56, 1, 51, 1, 41, 1, 48, 1, 41, 1, 99, 1, 34, 1, 99, 1, 73, 1, 85, 1, 73, 1, 51, 1, 65, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 26, 0, 1, 0, 4, 0, 26, 0, 79, 0, 1, 0, 97, 0, 65, 0, 104, 0, 97, 0, 82, 0, 65, 0, 95, 0, 15, 1, 9, 1, 95, 0, 60, 0, 15, 1, 72, 0, 55, 1, 50, 1, 72, 0, 74, 0, 55, 1, 89, 0, 50, 1, 45, 1, 89, 0, 72, 0, 50, 1 ),
-"blend_shape_data": [ ],
-"format": 2194711,
+_surfaces = [{
+"aabb": AABB(-0.0566603, 0, -0.089532, 0.15666, 0.3, 0.179064),
+"attribute_data": PackedByteArray(0, 0, 160, 51, 0, 0, 0, 63, 0, 0, 128, 63, 0, 0, 0, 63, 0, 0, 64, 63, 92, 143, 2, 63, 82, 184, 94, 63, 153, 202, 10, 63, 171, 170, 106, 63, 0, 0, 0, 63, 103, 53, 117, 63, 174, 71, 33, 63, 86, 85, 85, 63, 0, 0, 0, 63, 164, 112, 125, 63, 0, 0, 64, 63, 1, 0, 64, 63, 0, 0, 0, 63, 103, 53, 117, 63, 82, 184, 94, 63, 172, 170, 42, 63, 0, 0, 0, 63, 82, 184, 94, 63, 103, 53, 117, 63, 87, 85, 21, 63, 0, 0, 0, 63, 2, 0, 0, 63, 0, 0, 0, 63, 0, 0, 64, 63, 164, 112, 125, 63, 89, 85, 213, 62, 0, 0, 0, 63, 174, 71, 33, 63, 103, 53, 117, 63, 174, 170, 170, 62, 0, 0, 0, 63, 153, 202, 10, 63, 82, 184, 94, 63, 3, 0, 128, 62, 0, 0, 0, 63, 92, 143, 2, 63, 0, 0, 64, 63, 176, 170, 42, 62, 0, 0, 0, 63, 153, 202, 10, 63, 174, 71, 33, 63, 181, 170, 170, 61, 0, 0, 0, 63, 174, 71, 33, 63, 153, 202, 10, 63, 171, 170, 106, 63, 50, 51, 243, 62, 171, 170, 106, 63, 160, 170, 42, 61, 87, 85, 21, 63, 52, 51, 243, 62, 86, 85, 85, 63, 106, 212, 233, 62, 86, 85, 85, 63, 112, 167, 67, 61, 176, 170, 42, 62, 106, 212, 233, 62, 86, 85, 85, 63, 64, 211, 154, 60, 1, 0, 64, 63, 102, 102, 230, 62, 1, 0, 64, 63, 192, 204, 76, 61, 3, 0, 128, 62, 102, 102, 230, 62, 0, 0, 64, 63, 160, 136, 136, 60, 172, 170, 42, 63, 106, 212, 233, 62, 172, 170, 42, 63, 112, 167, 67, 61, 174, 170, 170, 62, 106, 212, 233, 62, 172, 170, 42, 63, 96, 211, 154, 60, 89, 85, 213, 62, 50, 51, 243, 62, 87, 85, 21, 63, 224, 204, 204, 60, 181, 170, 170, 61, 52, 51, 243, 62, 2, 0, 0, 63, 64, 211, 154, 60, 2, 0, 0, 63, 96, 211, 154, 60, 176, 170, 42, 62, 106, 212, 233, 62, 87, 85, 21, 63, 52, 51, 243, 62, 86, 85, 21, 63, 176, 170, 42, 61, 171, 170, 106, 63, 50, 51, 243, 62, 2, 0, 0, 63, 128, 167, 67, 61, 85, 85, 85, 63, 106, 212, 233, 62, 86, 85, 85, 63, 106, 212, 233, 62, 89, 85, 213, 62, 192, 204, 76, 61, 90, 85, 213, 62, 192, 204, 76, 61, 0, 0, 64, 63, 104, 102, 230, 62, 89, 85, 213, 62, 160, 136, 136, 60, 3, 0, 128, 62, 104, 102, 230, 62, 175, 170, 170, 62, 112, 167, 67, 61, 172, 170, 42, 63, 106, 212, 233, 62, 174, 170, 170, 62, 64, 211, 154, 60, 174, 170, 170, 62, 108, 212, 233, 62, 2, 0, 0, 63, 72, 56, 241, 62, 0, 0, 160, 51, 72, 56, 241, 62, 0, 0, 128, 63, 74, 56, 241, 62, 181, 170, 170, 61, 52, 51, 243, 62, 170, 170, 106, 63, 224, 204, 204, 60, 89, 85, 213, 62, 50, 51, 243, 62, 176, 170, 42, 62, 64, 211, 154, 60, 176, 170, 42, 62, 96, 211, 154, 60, 176, 170, 42, 62, 104, 212, 233, 62, 176, 170, 42, 62, 106, 212, 233, 62, 176, 170, 42, 62, 128, 167, 67, 61, 86, 85, 85, 63, 108, 212, 233, 62, 181, 170, 170, 61, 208, 204, 76, 61, 0, 0, 64, 63, 102, 102, 230, 62, 181, 170, 170, 61, 160, 136, 136, 60, 3, 0, 128, 62, 102, 102, 230, 62, 3, 0, 128, 62, 104, 102, 230, 62, 0, 0, 160, 51, 128, 167, 67, 61, 0, 0, 128, 63, 128, 167, 67, 61, 172, 170, 42, 63, 106, 212, 233, 62, 0, 0, 160, 51, 96, 211, 154, 60, 0, 0, 128, 63, 20, 38, 145, 62, 174, 170, 170, 62, 106, 212, 233, 62, 0, 0, 160, 51, 72, 56, 241, 62, 0, 0, 128, 63, 72, 56, 241, 62, 2, 0, 0, 63, 74, 56, 241, 62, 3, 0, 128, 62, 160, 170, 42, 61, 87, 85, 21, 63, 50, 51, 243, 62, 171, 170, 106, 63, 52, 51, 243, 62, 0, 0, 160, 51, 68, 56, 241, 62, 0, 0, 128, 63, 70, 56, 241, 62, 2, 0, 0, 63, 70, 56, 241, 62, 3, 0, 128, 62, 224, 204, 204, 60, 180, 170, 170, 61, 52, 51, 243, 62, 89, 85, 213, 62, 52, 51, 243, 62, 0, 0, 160, 51, 128, 116, 218, 59, 0, 0, 128, 63, 224, 204, 204, 61, 0, 0, 128, 62, 92, 143, 2, 63, 255, 255, 127, 62, 192, 0, 28, 63, 255, 255, 127, 62, 192, 0, 28, 63, 61, 255, 163, 62, 92, 211, 32, 63, 61, 255, 163, 62, 92, 211, 32, 63, 164, 112, 189, 62, 153, 202, 10, 63, 170, 170, 106, 63, 0, 116, 218, 59, 71, 89, 190, 62, 98, 0, 46, 63, 71, 89, 190, 62, 98, 0, 46, 63, 206, 106, 234, 62, 174, 71, 33, 63, 86, 85, 85, 63, 0, 116, 218, 59, 126, 254, 199, 62, 0, 0, 64, 63, 126, 254, 199, 62, 0, 0, 64, 63, 72, 225, 250, 62, 0, 0, 64, 63, 0, 0, 64, 63, 0, 116, 218, 59, 1, 0, 64, 63, 0, 116, 218, 59, 72, 89, 190, 62, 160, 255, 81, 63, 72, 89, 190, 62, 160, 255, 81, 63, 206, 106, 234, 62, 82, 184, 94, 63, 172, 170, 42, 63, 0, 116, 218, 59, 172, 170, 42, 63, 128, 116, 218, 59, 62, 255, 163, 62, 163, 44, 95, 63, 62, 255, 163, 62, 163, 44, 95, 63, 164, 112, 189, 62, 103, 53, 117, 63, 87, 85, 21, 63, 0, 116, 218, 59, 1, 0, 128, 62, 63, 255, 99, 63, 1, 0, 128, 62, 63, 255, 99, 63, 0, 0, 128, 62, 164, 112, 125, 63, 2, 0, 0, 63, 0, 116, 218, 59, 2, 0, 0, 63, 128, 116, 218, 59, 130, 1, 56, 62, 163, 44, 95, 63, 130, 1, 56, 62, 163, 44, 95, 63, 90, 85, 213, 62, 0, 116, 218, 59, 184, 30, 5, 62, 103, 53, 117, 63, 116, 77, 3, 62, 160, 255, 81, 63, 116, 77, 3, 62, 160, 255, 81, 63, 174, 170, 170, 62, 0, 116, 218, 59, 144, 169, 44, 61, 82, 184, 94, 63, 9, 6, 224, 61, 0, 0, 64, 63, 9, 6, 224, 61, 0, 0, 64, 63, 3, 0, 128, 62, 0, 116, 218, 59, 16, 215, 35, 60, 0, 0, 64, 63, 115, 77, 3, 62, 97, 0, 46, 63, 115, 77, 3, 62, 97, 0, 46, 63, 176, 170, 42, 62, 0, 116, 218, 59, 176, 170, 42, 62, 128, 116, 218, 59, 144, 169, 44, 61, 174, 71, 33, 63, 131, 1, 56, 62, 92, 211, 32, 63, 131, 1, 56, 62, 92, 211, 32, 63, 181, 170, 170, 61, 0, 116, 218, 59, 182, 170, 170, 61, 0, 116, 218, 59, 184, 30, 5, 62, 153, 202, 10, 63, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 65, 89, 141, 60, 0, 0, 0, 0, 49, 149, 123, 63, 0, 0, 0, 0, 255, 255, 127, 62, 194, 0, 28, 63, 220, 63, 102, 63, 0, 0, 0, 0, 122, 21, 111, 63, 0, 0, 0, 0, 64, 255, 163, 62, 92, 211, 32, 63, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 134, 234, 80, 63, 0, 0, 0, 0, 33, 192, 89, 63, 0, 0, 0, 0, 80, 89, 190, 62, 101, 0, 46, 63, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 55, 149, 59, 63, 0, 0, 0, 0, 203, 106, 68, 63, 0, 0, 0, 0, 130, 254, 199, 62, 0, 0, 64, 63, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 224, 63, 38, 63, 0, 0, 0, 0, 124, 21, 47, 63, 0, 0, 0, 0, 80, 89, 190, 62, 155, 255, 81, 63, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 64, 255, 163, 62, 163, 44, 95, 63, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 102, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 0, 0, 128, 62, 63, 255, 99, 63, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 187, 127, 204, 62, 0, 0, 0, 0, 248, 42, 222, 62, 0, 0, 0, 0, 126, 1, 56, 62, 163, 44, 95, 63, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 10, 213, 161, 62, 0, 0, 0, 0, 68, 128, 179, 62, 0, 0, 0, 0, 93, 77, 3, 62, 156, 255, 81, 63, 230, 84, 110, 62, 0, 0, 0, 0, 147, 213, 136, 62, 0, 0, 0, 0, 248, 5, 224, 61, 0, 0, 64, 63, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 132, 255, 24, 62, 0, 0, 0, 0, 248, 85, 60, 62, 0, 0, 0, 0, 94, 77, 3, 62, 100, 0, 46, 63, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 110, 84, 135, 61, 0, 0, 0, 0, 47, 1, 206, 61, 0, 0, 0, 0, 126, 1, 56, 62, 92, 211, 32, 63, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60, 0, 0, 128, 62, 192, 0, 28, 63, 65, 89, 141, 60, 0, 0, 0, 0, 55, 149, 123, 63, 0, 0, 0, 0, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 65, 255, 163, 62, 93, 211, 32, 63, 220, 63, 102, 63, 0, 0, 0, 0, 116, 21, 111, 63, 0, 0, 0, 0, 82, 89, 190, 62, 100, 0, 46, 63, 132, 234, 80, 63, 0, 0, 0, 0, 33, 192, 89, 63, 0, 0, 0, 0, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 130, 254, 199, 62, 0, 0, 64, 63, 58, 149, 59, 63, 0, 0, 0, 0, 203, 106, 68, 63, 0, 0, 0, 0, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 32, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 32, 215, 163, 60, 220, 63, 38, 63, 0, 0, 0, 0, 128, 21, 47, 63, 0, 0, 0, 0, 82, 89, 190, 62, 156, 255, 81, 63, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 64, 255, 163, 62, 164, 44, 95, 63, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 102, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 253, 255, 127, 62, 64, 255, 99, 63, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 32, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 32, 215, 163, 60, 201, 127, 204, 62, 0, 0, 0, 0, 248, 42, 222, 62, 0, 0, 0, 0, 126, 1, 56, 62, 164, 44, 95, 63, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 89, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 6, 213, 161, 62, 0, 0, 0, 0, 70, 128, 179, 62, 0, 0, 0, 0, 94, 77, 3, 62, 156, 255, 81, 63, 174, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 32, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 32, 215, 163, 60, 248, 5, 224, 61, 0, 0, 64, 63, 222, 84, 110, 62, 0, 0, 0, 0, 147, 213, 136, 62, 0, 0, 0, 0, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 94, 77, 3, 62, 100, 0, 46, 63, 145, 255, 24, 62, 0, 0, 0, 0, 248, 85, 60, 62, 0, 0, 0, 0, 126, 1, 56, 62, 94, 211, 32, 63, 110, 84, 135, 61, 0, 0, 0, 0, 21, 1, 206, 61, 0, 0, 0, 0, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60, 14, 90, 141, 60, 0, 0, 0, 0, 55, 149, 123, 63, 0, 0, 0, 0, 0, 0, 128, 62, 193, 0, 28, 63, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 32, 215, 163, 60, 0, 0, 160, 51, 0, 215, 163, 60, 0, 0, 128, 63, 32, 215, 163, 60, 220, 63, 102, 63, 0, 0, 0, 0, 116, 21, 111, 63, 0, 0, 0, 0, 65, 255, 163, 62, 94, 211, 32, 63, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 32, 215, 163, 60, 171, 170, 106, 63, 0, 215, 163, 60, 171, 170, 106, 63, 32, 215, 163, 60, 130, 234, 80, 63, 0, 0, 0, 0, 29, 192, 89, 63, 0, 0, 0, 0, 82, 89, 190, 62, 100, 0, 46, 63, 86, 85, 85, 63, 0, 215, 163, 60, 86, 85, 85, 63, 0, 215, 163, 60, 129, 254, 199, 62, 0, 0, 64, 63, 55, 149, 59, 63, 0, 0, 0, 0, 201, 106, 68, 63, 0, 0, 0, 0, 1, 0, 64, 63, 0, 215, 163, 60, 1, 0, 64, 63, 0, 215, 163, 60, 79, 89, 190, 62, 155, 255, 81, 63, 224, 63, 38, 63, 0, 0, 0, 0, 126, 21, 47, 63, 0, 0, 0, 0, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 172, 170, 42, 63, 0, 215, 163, 60, 172, 170, 42, 63, 32, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 87, 85, 21, 63, 0, 215, 163, 60, 63, 255, 163, 62, 163, 44, 95, 63, 142, 234, 16, 63, 0, 0, 0, 0, 38, 192, 25, 63, 0, 0, 0, 0, 0, 0, 128, 62, 63, 255, 99, 63, 114, 42, 247, 62, 0, 0, 0, 0, 203, 106, 4, 63, 0, 0, 0, 0, 2, 0, 0, 63, 0, 215, 163, 60, 2, 0, 0, 63, 0, 215, 163, 60, 127, 1, 56, 62, 162, 44, 95, 63, 187, 127, 204, 62, 0, 0, 0, 0, 235, 42, 222, 62, 0, 0, 0, 0, 90, 85, 213, 62, 0, 215, 163, 60, 90, 85, 213, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 174, 170, 170, 62, 0, 215, 163, 60, 175, 170, 170, 62, 0, 215, 163, 60, 94, 77, 3, 62, 155, 255, 81, 63, 9, 213, 161, 62, 0, 0, 0, 0, 60, 128, 179, 62, 0, 0, 0, 0, 248, 5, 224, 61, 0, 0, 64, 63, 222, 84, 110, 62, 0, 0, 0, 0, 148, 213, 136, 62, 0, 0, 0, 0, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 32, 215, 163, 60, 3, 0, 128, 62, 0, 215, 163, 60, 3, 0, 128, 62, 32, 215, 163, 60, 145, 255, 24, 62, 0, 0, 0, 0, 240, 85, 60, 62, 0, 0, 0, 0, 94, 77, 3, 62, 100, 0, 46, 63, 176, 170, 42, 62, 0, 215, 163, 60, 176, 170, 42, 62, 0, 215, 163, 60, 60, 84, 135, 61, 0, 0, 0, 0, 245, 0, 206, 61, 0, 0, 0, 0, 126, 1, 56, 62, 93, 211, 32, 63, 181, 170, 170, 61, 0, 215, 163, 60, 181, 170, 170, 61, 0, 215, 163, 60),
+"format": 4119,
"index_count": 798,
-"material": ExtResource( 2 ),
-"primitive": 4,
-"skeleton_aabb": [ ],
-"vertex_count": 358
-}
+"index_data": PackedByteArray(104, 0, 31, 0, 108, 0, 104, 0, 65, 0, 31, 0, 31, 0, 113, 0, 108, 0, 31, 0, 35, 0, 113, 0, 6, 0, 26, 0, 4, 0, 6, 0, 29, 0, 26, 0, 35, 0, 118, 0, 112, 0, 35, 0, 39, 0, 118, 0, 33, 0, 6, 0, 8, 0, 33, 0, 29, 0, 6, 0, 39, 0, 122, 0, 117, 0, 39, 0, 41, 0, 122, 0, 37, 0, 8, 0, 10, 0, 37, 0, 33, 0, 8, 0, 41, 0, 127, 0, 122, 0, 41, 0, 44, 0, 127, 0, 47, 0, 10, 0, 12, 0, 47, 0, 37, 0, 10, 0, 43, 0, 130, 0, 126, 0, 43, 0, 55, 0, 130, 0, 49, 0, 12, 0, 13, 0, 49, 0, 47, 0, 12, 0, 49, 0, 15, 0, 53, 0, 49, 0, 13, 0, 15, 0, 55, 0, 134, 0, 130, 0, 55, 0, 59, 0, 134, 0, 59, 0, 138, 0, 134, 0, 59, 0, 93, 0, 138, 0, 52, 0, 17, 0, 57, 0, 52, 0, 15, 0, 17, 0, 93, 0, 143, 0, 138, 0, 93, 0, 68, 0, 143, 0, 19, 0, 57, 0, 17, 0, 19, 0, 87, 0, 57, 0, 67, 0, 148, 0, 142, 0, 67, 0, 75, 0, 148, 0, 21, 0, 87, 0, 19, 0, 21, 0, 71, 0, 87, 0, 147, 0, 81, 0, 96, 0, 147, 0, 75, 0, 81, 0, 73, 0, 21, 0, 23, 0, 73, 0, 71, 0, 21, 0, 0, 0, 73, 0, 23, 0, 0, 0, 78, 0, 73, 0, 22, 0, 2, 0, 24, 0, 2, 0, 5, 0, 3, 0, 5, 0, 9, 0, 7, 0, 9, 0, 14, 0, 11, 0, 14, 0, 18, 0, 16, 0, 18, 0, 22, 0, 20, 0, 22, 0, 5, 0, 2, 0, 5, 0, 14, 0, 9, 0, 14, 0, 22, 0, 18, 0, 5, 0, 22, 0, 14, 0, 25, 0, 165, 0, 160, 0, 25, 0, 28, 0, 165, 0, 28, 0, 170, 0, 165, 0, 28, 0, 32, 0, 170, 0, 32, 0, 175, 0, 170, 0, 32, 0, 36, 0, 175, 0, 36, 0, 180, 0, 175, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 185, 0, 40, 0, 191, 0, 185, 0, 61, 0, 40, 0, 40, 0, 195, 0, 190, 0, 40, 0, 38, 0, 195, 0, 38, 0, 204, 0, 194, 0, 38, 0, 34, 0, 204, 0, 34, 0, 209, 0, 204, 0, 34, 0, 30, 0, 209, 0, 30, 0, 214, 0, 209, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 85, 0, 160, 0, 151, 0, 85, 0, 25, 0, 160, 0, 62, 0, 31, 1, 42, 0, 62, 0, 221, 0, 31, 1, 54, 0, 232, 0, 50, 0, 54, 0, 239, 0, 232, 0, 58, 0, 238, 0, 54, 0, 58, 0, 245, 0, 238, 0, 58, 0, 251, 0, 246, 0, 58, 0, 88, 0, 251, 0, 1, 1, 88, 0, 92, 0, 1, 1, 251, 0, 88, 0, 2, 1, 95, 0, 8, 1, 2, 1, 92, 0, 95, 0, 60, 0, 21, 1, 16, 1, 60, 0, 56, 0, 21, 1, 56, 0, 23, 1, 21, 1, 56, 0, 45, 0, 23, 1, 23, 1, 42, 0, 31, 1, 23, 1, 45, 0, 42, 0, 222, 0, 48, 0, 224, 0, 222, 0, 63, 0, 48, 0, 48, 0, 232, 0, 224, 0, 48, 0, 51, 0, 232, 0, 37, 1, 94, 0, 90, 0, 37, 1, 101, 1, 94, 0, 55, 1, 80, 0, 62, 1, 55, 1, 74, 0, 80, 0, 64, 1, 80, 0, 27, 0, 64, 1, 61, 1, 80, 0, 27, 0, 72, 1, 64, 1, 27, 0, 86, 0, 72, 1, 77, 1, 86, 0, 66, 0, 77, 1, 72, 1, 86, 0, 66, 0, 81, 1, 77, 1, 66, 0, 83, 0, 81, 1, 83, 0, 90, 1, 80, 1, 83, 0, 77, 0, 90, 1, 91, 1, 69, 0, 96, 1, 91, 1, 76, 0, 69, 0, 94, 0, 96, 1, 70, 0, 94, 0, 101, 1, 96, 1, 38, 1, 89, 0, 44, 1, 38, 1, 91, 0, 89, 0, 106, 0, 111, 0, 110, 0, 106, 0, 107, 0, 111, 0, 115, 0, 121, 0, 120, 0, 115, 0, 116, 0, 121, 0, 120, 0, 125, 0, 123, 0, 120, 0, 121, 0, 125, 0, 128, 0, 135, 0, 132, 0, 128, 0, 131, 0, 135, 0, 136, 0, 144, 0, 140, 0, 136, 0, 139, 0, 144, 0, 140, 0, 149, 0, 145, 0, 140, 0, 144, 0, 149, 0, 100, 0, 103, 0, 102, 0, 100, 0, 98, 0, 103, 0, 102, 0, 107, 0, 106, 0, 102, 0, 103, 0, 107, 0, 110, 0, 116, 0, 115, 0, 110, 0, 111, 0, 116, 0, 123, 0, 131, 0, 128, 0, 123, 0, 125, 0, 131, 0, 132, 0, 139, 0, 136, 0, 132, 0, 135, 0, 139, 0, 98, 0, 145, 0, 149, 0, 98, 0, 100, 0, 145, 0, 119, 0, 109, 0, 114, 0, 109, 0, 101, 0, 105, 0, 101, 0, 146, 0, 99, 0, 146, 0, 137, 0, 141, 0, 137, 0, 129, 0, 133, 0, 129, 0, 119, 0, 124, 0, 119, 0, 101, 0, 109, 0, 101, 0, 137, 0, 146, 0, 137, 0, 119, 0, 129, 0, 101, 0, 119, 0, 137, 0, 155, 0, 161, 0, 158, 0, 155, 0, 153, 0, 161, 0, 157, 0, 166, 0, 163, 0, 157, 0, 161, 0, 166, 0, 162, 0, 171, 0, 168, 0, 162, 0, 166, 0, 171, 0, 167, 0, 176, 0, 173, 0, 167, 0, 171, 0, 176, 0, 172, 0, 181, 0, 178, 0, 172, 0, 176, 0, 181, 0, 198, 0, 205, 0, 202, 0, 198, 0, 196, 0, 205, 0, 152, 0, 211, 0, 215, 0, 152, 0, 154, 0, 211, 0, 177, 0, 186, 0, 183, 0, 177, 0, 181, 0, 186, 0, 187, 0, 197, 0, 199, 0, 187, 0, 192, 0, 197, 0, 201, 0, 210, 0, 207, 0, 201, 0, 205, 0, 210, 0, 206, 0, 215, 0, 212, 0, 206, 0, 210, 0, 215, 0, 182, 0, 193, 0, 188, 0, 182, 0, 186, 0, 193, 0, 179, 0, 169, 0, 174, 0, 169, 0, 159, 0, 164, 0, 159, 0, 213, 0, 156, 0, 213, 0, 203, 0, 208, 0, 203, 0, 189, 0, 200, 0, 189, 0, 179, 0, 184, 0, 179, 0, 159, 0, 169, 0, 159, 0, 203, 0, 213, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 229, 0, 237, 0, 235, 0, 229, 0, 231, 0, 237, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 3, 1, 13, 1, 11, 1, 3, 1, 7, 1, 13, 1, 10, 1, 20, 1, 19, 1, 10, 1, 14, 1, 20, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 252, 0, 6, 1, 4, 1, 252, 0, 0, 1, 6, 1, 218, 0, 223, 0, 227, 0, 218, 0, 220, 0, 223, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 240, 0, 250, 0, 248, 0, 240, 0, 244, 0, 250, 0, 12, 1, 254, 0, 5, 1, 254, 0, 242, 0, 249, 0, 242, 0, 228, 0, 233, 0, 228, 0, 216, 0, 225, 0, 216, 0, 24, 1, 27, 1, 24, 1, 12, 1, 17, 1, 12, 1, 242, 0, 254, 0, 242, 0, 216, 0, 228, 0, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 39, 1, 49, 1, 47, 1, 39, 1, 43, 1, 49, 1, 52, 1, 60, 1, 58, 1, 52, 1, 54, 1, 60, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 33, 1, 42, 1, 40, 1, 33, 1, 36, 1, 42, 1, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 74, 1, 79, 1, 84, 1, 74, 1, 76, 1, 79, 1, 86, 1, 95, 1, 93, 1, 86, 1, 89, 1, 95, 1, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 35, 1, 97, 1, 100, 1, 35, 1, 32, 1, 97, 1, 99, 1, 85, 1, 94, 1, 85, 1, 73, 1, 82, 1, 73, 1, 65, 1, 68, 1, 65, 1, 51, 1, 56, 1, 51, 1, 41, 1, 48, 1, 41, 1, 99, 1, 34, 1, 99, 1, 73, 1, 85, 1, 73, 1, 51, 1, 65, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 26, 0, 1, 0, 4, 0, 26, 0, 79, 0, 1, 0, 97, 0, 65, 0, 104, 0, 97, 0, 82, 0, 65, 0, 95, 0, 15, 1, 9, 1, 95, 0, 60, 0, 15, 1, 72, 0, 55, 1, 50, 1, 72, 0, 74, 0, 55, 1, 89, 0, 50, 1, 45, 1, 89, 0, 72, 0, 50, 1),
+"lods": [0.016668, PackedByteArray(126, 0, 65, 0, 31, 0, 31, 0, 41, 0, 126, 0, 41, 0, 43, 0, 126, 0, 43, 0, 93, 0, 126, 0, 93, 0, 67, 0, 126, 0, 126, 0, 67, 0, 81, 0, 126, 0, 81, 0, 96, 0, 97, 0, 65, 0, 126, 0, 97, 0, 82, 0, 65, 0, 19, 0, 37, 0, 26, 0, 47, 0, 37, 0, 19, 0, 26, 0, 79, 0, 1, 0, 26, 0, 1, 0, 19, 0, 57, 0, 47, 0, 19, 0, 19, 0, 87, 0, 57, 0, 19, 0, 71, 0, 87, 0, 0, 0, 71, 0, 19, 0, 0, 0, 78, 0, 71, 0, 25, 0, 165, 0, 160, 0, 85, 0, 25, 0, 160, 0, 85, 0, 160, 0, 151, 0, 155, 0, 151, 0, 160, 0, 155, 0, 160, 0, 158, 0, 157, 0, 160, 0, 165, 0, 157, 0, 165, 0, 163, 0, 25, 0, 36, 0, 165, 0, 36, 0, 170, 0, 165, 0, 162, 0, 165, 0, 170, 0, 162, 0, 170, 0, 168, 0, 36, 0, 175, 0, 170, 0, 167, 0, 170, 0, 175, 0, 167, 0, 175, 0, 173, 0, 36, 0, 180, 0, 175, 0, 172, 0, 175, 0, 180, 0, 172, 0, 180, 0, 178, 0, 36, 0, 46, 0, 180, 0, 61, 0, 180, 0, 46, 0, 61, 0, 185, 0, 180, 0, 177, 0, 180, 0, 185, 0, 177, 0, 185, 0, 183, 0, 185, 0, 61, 0, 40, 0, 185, 0, 40, 0, 190, 0, 182, 0, 185, 0, 190, 0, 182, 0, 190, 0, 188, 0, 40, 0, 194, 0, 190, 0, 187, 0, 190, 0, 194, 0, 187, 0, 194, 0, 199, 0, 40, 0, 30, 0, 194, 0, 30, 0, 204, 0, 194, 0, 198, 0, 194, 0, 204, 0, 198, 0, 204, 0, 202, 0, 30, 0, 209, 0, 204, 0, 201, 0, 204, 0, 209, 0, 201, 0, 209, 0, 207, 0, 30, 0, 214, 0, 209, 0, 206, 0, 209, 0, 214, 0, 206, 0, 214, 0, 212, 0, 30, 0, 64, 0, 214, 0, 64, 0, 150, 0, 214, 0, 64, 0, 84, 0, 150, 0, 150, 0, 211, 0, 214, 0, 150, 0, 154, 0, 211, 0, 62, 0, 30, 1, 42, 0, 62, 0, 219, 0, 30, 1, 219, 0, 28, 1, 30, 1, 219, 0, 217, 0, 28, 1, 25, 1, 30, 1, 29, 1, 25, 1, 22, 1, 30, 1, 22, 1, 42, 0, 30, 1, 22, 1, 45, 0, 42, 0, 18, 1, 22, 1, 26, 1, 18, 1, 20, 1, 22, 1, 45, 0, 22, 1, 20, 1, 10, 1, 20, 1, 19, 1, 10, 1, 13, 1, 20, 1, 45, 0, 20, 1, 13, 1, 95, 0, 45, 0, 13, 1, 3, 1, 13, 1, 11, 1, 3, 1, 6, 1, 13, 1, 95, 0, 13, 1, 6, 1, 252, 0, 6, 1, 4, 1, 252, 0, 255, 0, 6, 1, 255, 0, 95, 0, 6, 1, 255, 0, 92, 0, 95, 0, 255, 0, 88, 0, 92, 0, 247, 0, 255, 0, 253, 0, 247, 0, 250, 0, 255, 0, 255, 0, 250, 0, 88, 0, 58, 0, 88, 0, 250, 0, 240, 0, 250, 0, 248, 0, 240, 0, 243, 0, 250, 0, 58, 0, 250, 0, 243, 0, 234, 0, 243, 0, 241, 0, 234, 0, 236, 0, 243, 0, 58, 0, 243, 0, 236, 0, 229, 0, 236, 0, 235, 0, 229, 0, 231, 0, 236, 0, 58, 0, 236, 0, 231, 0, 48, 0, 58, 0, 231, 0, 226, 0, 231, 0, 230, 0, 226, 0, 223, 0, 231, 0, 48, 0, 231, 0, 223, 0, 220, 0, 48, 0, 223, 0, 220, 0, 63, 0, 48, 0, 218, 0, 220, 0, 223, 0, 218, 0, 223, 0, 227, 0, 35, 1, 94, 0, 90, 0, 35, 1, 32, 1, 97, 1, 35, 1, 97, 1, 100, 1, 35, 1, 100, 1, 94, 0, 92, 1, 100, 1, 98, 1, 92, 1, 95, 1, 100, 1, 94, 0, 100, 1, 95, 1, 94, 0, 95, 1, 69, 0, 86, 1, 95, 1, 93, 1, 86, 1, 88, 1, 95, 1, 88, 1, 69, 0, 95, 1, 83, 0, 69, 0, 88, 1, 83, 1, 88, 1, 87, 1, 83, 1, 78, 1, 88, 1, 83, 0, 88, 1, 78, 1, 66, 0, 83, 0, 78, 1, 74, 1, 78, 1, 84, 1, 74, 1, 76, 1, 78, 1, 66, 0, 78, 1, 76, 1, 76, 1, 86, 0, 66, 0, 69, 1, 76, 1, 75, 1, 69, 1, 71, 1, 76, 1, 76, 1, 71, 1, 86, 0, 27, 0, 86, 0, 71, 1, 66, 1, 71, 1, 70, 1, 66, 1, 63, 1, 71, 1, 27, 0, 71, 1, 63, 1, 63, 1, 80, 0, 27, 0, 57, 1, 63, 1, 67, 1, 57, 1, 59, 1, 63, 1, 63, 1, 59, 1, 80, 0, 52, 1, 59, 1, 58, 1, 52, 1, 54, 1, 59, 1, 54, 1, 80, 0, 59, 1, 54, 1, 72, 0, 80, 0, 46, 1, 54, 1, 53, 1, 46, 1, 49, 1, 54, 1, 72, 0, 54, 1, 49, 1, 89, 0, 72, 0, 49, 1, 39, 1, 49, 1, 47, 1, 39, 1, 42, 1, 49, 1, 89, 0, 49, 1, 42, 1, 36, 1, 89, 0, 42, 1, 36, 1, 91, 0, 89, 0, 33, 1, 36, 1, 42, 1, 33, 1, 42, 1, 40, 1, 179, 0, 169, 0, 174, 0, 179, 0, 159, 0, 169, 0, 169, 0, 159, 0, 164, 0, 189, 0, 179, 0, 184, 0, 203, 0, 179, 0, 189, 0, 159, 0, 179, 0, 203, 0, 203, 0, 189, 0, 200, 0, 159, 0, 203, 0, 213, 0, 213, 0, 203, 0, 208, 0, 159, 0, 213, 0, 156, 0, 12, 1, 254, 0, 5, 1, 12, 1, 242, 0, 254, 0, 254, 0, 242, 0, 249, 0, 24, 1, 12, 1, 17, 1, 216, 0, 12, 1, 24, 1, 242, 0, 12, 1, 216, 0, 216, 0, 24, 1, 27, 1, 242, 0, 216, 0, 228, 0, 228, 0, 216, 0, 225, 0, 242, 0, 228, 0, 233, 0, 99, 1, 85, 1, 94, 1, 99, 1, 73, 1, 85, 1, 85, 1, 73, 1, 82, 1, 41, 1, 99, 1, 34, 1, 51, 1, 99, 1, 41, 1, 73, 1, 99, 1, 51, 1, 51, 1, 41, 1, 48, 1, 73, 1, 51, 1, 65, 1, 65, 1, 51, 1, 56, 1, 73, 1, 65, 1, 68, 1)],
+"material": SubResource("StandardMaterial3D_hqk2h"),
+"primitive": 3,
+"vertex_count": 358,
+"vertex_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 0, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 0, 0, 255, 255, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 188, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 188, 255, 255, 37, 209, 0, 0, 146, 168, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 187, 255, 255, 217, 174, 0, 0, 108, 151, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 35, 60, 0, 0, 0, 0, 0, 0, 0, 128, 255, 255, 255, 127, 255, 255, 255, 127, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 60, 0, 0, 0, 0, 10, 215, 163, 59, 37, 209, 255, 127, 255, 255, 108, 151, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 255, 127, 0, 0, 254, 255, 255, 63, 10, 215, 163, 59, 0, 0, 0, 0, 189, 227, 13, 60, 217, 174, 255, 127, 255, 255, 146, 168, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 0, 0, 0, 0, 0, 0, 0, 0, 10, 215, 35, 60, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 60, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 217, 46, 255, 127, 217, 174, 255, 191, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 59, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 0, 128, 255, 127, 0, 0, 255, 255, 255, 63, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 0, 0, 217, 174, 37, 81, 255, 191, 189, 227, 13, 188, 0, 0, 0, 0, 10, 215, 163, 187, 255, 127, 0, 0, 255, 255, 255, 63, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 0, 0, 37, 209, 217, 46, 255, 191, 10, 215, 163, 187, 0, 0, 0, 0, 189, 227, 13, 188, 255, 127, 0, 0, 254, 255, 255, 63, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 206, 212, 0, 0, 47, 171, 254, 255, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 255, 255, 37, 209, 0, 0, 108, 215, 10, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 188, 60, 221, 28, 59, 181, 94, 64, 154, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 83, 179, 0, 0, 83, 51, 254, 255, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 187, 255, 255, 83, 179, 0, 0, 169, 153, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 83, 179, 255, 255, 255, 127, 169, 217, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 187, 255, 255, 83, 179, 0, 0, 85, 230, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 255, 127, 0, 0, 0, 0, 255, 255, 10, 215, 35, 60, 113, 61, 138, 62, 0, 0, 0, 128, 255, 255, 255, 127, 255, 255, 255, 127, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 255, 127, 255, 255, 255, 127, 255, 191, 10, 215, 35, 60, 225, 122, 148, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 255, 127, 83, 51, 83, 51, 255, 127, 189, 227, 13, 60, 11, 237, 138, 62, 10, 215, 163, 59, 171, 204, 255, 127, 254, 255, 169, 153, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 171, 204, 255, 127, 85, 166, 189, 227, 13, 60, 71, 203, 147, 62, 10, 215, 163, 59, 171, 204, 255, 127, 254, 255, 85, 230, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 47, 171, 255, 127, 151, 149, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 60, 28, 187, 193, 162, 124, 75, 89, 239, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 2, 188, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 2, 188, 0, 0, 0, 0, 71, 203, 147, 62, 10, 215, 35, 60, 194, 166, 218, 194, 25, 42, 196, 228, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 255, 127, 207, 84, 207, 84, 255, 127, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 9, 215, 163, 59, 205, 204, 140, 62, 189, 227, 13, 60, 28, 187, 61, 93, 73, 161, 189, 229, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 248, 135, 255, 127, 254, 255, 251, 195, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 194, 166, 36, 61, 116, 182, 11, 213, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 60, 194, 166, 36, 61, 116, 182, 11, 213, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 60, 255, 127, 0, 0, 37, 209, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 60, 255, 127, 254, 255, 0, 0, 146, 168, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 53, 42, 255, 127, 53, 170, 255, 191, 189, 227, 13, 188, 11, 237, 138, 62, 10, 215, 163, 59, 219, 66, 195, 38, 116, 182, 242, 170, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 53, 42, 255, 127, 53, 170, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 10, 215, 163, 59, 219, 66, 59, 217, 25, 42, 58, 155, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 255, 127, 255, 127, 255, 127, 255, 127, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 37, 209, 255, 127, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 60, 37, 209, 255, 127, 255, 127, 254, 255, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 206, 212, 255, 255, 255, 127, 102, 234, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 255, 255, 37, 209, 226, 46, 72, 230, 9, 215, 163, 59, 133, 235, 145, 62, 189, 227, 13, 188, 60, 221, 226, 196, 130, 180, 164, 144, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 0, 0, 201, 85, 201, 85, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 0, 0, 201, 85, 201, 85, 255, 191, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 60, 89, 218, 194, 229, 213, 196, 228, 189, 227, 13, 188, 71, 203, 147, 62, 8, 215, 163, 187, 60, 89, 218, 194, 229, 213, 196, 228, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 0, 0, 53, 170, 201, 85, 255, 191, 189, 227, 13, 188, 11, 237, 138, 62, 8, 215, 163, 187, 60, 89, 36, 61, 138, 73, 11, 213, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 0, 0, 37, 209, 217, 46, 255, 191, 11, 215, 163, 187, 113, 61, 138, 62, 188, 227, 13, 188, 255, 127, 0, 0, 217, 46, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 255, 127, 254, 255, 255, 255, 146, 168, 11, 215, 163, 187, 225, 122, 148, 62, 188, 227, 13, 188, 255, 127, 254, 255, 254, 255, 146, 168, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 255, 255, 5, 248, 0, 0, 2, 188, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 255, 255, 5, 248, 0, 0, 252, 195, 134, 111, 2, 176, 11, 237, 138, 62, 10, 215, 35, 188, 35, 189, 195, 38, 138, 73, 242, 170, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 255, 255, 249, 7, 0, 0, 2, 188, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 255, 255, 249, 7, 90, 92, 72, 239, 134, 111, 2, 176, 71, 203, 147, 62, 10, 215, 35, 188, 35, 189, 59, 217, 229, 213, 58, 155, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 254, 255, 166, 47, 189, 59, 41, 92, 143, 62, 10, 215, 35, 188, 254, 255, 217, 174, 255, 127, 255, 127, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 194, 34, 28, 59, 73, 161, 64, 154, 10, 215, 35, 188, 205, 204, 140, 62, 3, 152, 71, 48, 226, 68, 61, 93, 181, 94, 189, 229, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 217, 46, 255, 127, 255, 127, 254, 255, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 217, 46, 255, 127, 255, 127, 254, 255, 167, 47, 61, 188, 41, 92, 143, 62, 71, 56, 113, 47, 0, 0, 217, 174, 255, 127, 255, 127, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 0, 0, 255, 127, 255, 127, 255, 191, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 226, 68, 193, 162, 130, 180, 89, 239, 11, 215, 35, 188, 133, 235, 145, 62, 172, 101, 67, 47, 194, 34, 226, 196, 124, 75, 164, 144, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 0, 0, 0, 0, 109, 110, 54, 247, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 188, 227, 190, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 255, 127, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 187, 227, 190, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 255, 127, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 187, 207, 200, 88, 229, 58, 214, 122, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 207, 200, 88, 229, 58, 214, 122, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 188, 255, 255, 37, 209, 85, 51, 177, 231, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 255, 127, 254, 255, 254, 255, 255, 191, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 187, 207, 200, 213, 209, 167, 197, 229, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 207, 200, 213, 209, 167, 197, 229, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 187, 255, 255, 217, 174, 0, 0, 146, 232, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 255, 127, 254, 255, 254, 255, 255, 191, 249, 251, 191, 59, 154, 153, 153, 62, 0, 0, 0, 128, 227, 190, 27, 193, 27, 193, 141, 160, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 227, 190, 27, 193, 27, 193, 141, 160, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 10, 215, 35, 60, 80, 141, 151, 62, 0, 0, 0, 128, 255, 255, 255, 127, 254, 255, 255, 127, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 255, 127, 254, 255, 254, 255, 255, 191, 101, 67, 166, 59, 154, 153, 153, 62, 250, 251, 63, 59, 41, 174, 46, 183, 204, 197, 211, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 41, 174, 46, 183, 204, 197, 211, 162, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 37, 209, 255, 127, 255, 255, 146, 232, 189, 227, 13, 60, 80, 141, 151, 62, 10, 215, 163, 59, 37, 209, 255, 127, 254, 255, 108, 151, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 255, 127, 254, 255, 254, 255, 255, 191, 250, 251, 63, 59, 154, 153, 153, 62, 101, 67, 166, 59, 166, 154, 46, 183, 245, 214, 29, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 166, 154, 46, 183, 245, 214, 29, 171, 10, 215, 163, 59, 80, 141, 151, 62, 189, 227, 13, 60, 217, 174, 255, 127, 254, 255, 146, 168, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 255, 127, 27, 193, 254, 255, 255, 191, 0, 0, 0, 0, 154, 153, 153, 62, 249, 251, 191, 59, 255, 127, 254, 255, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 27, 193, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 0, 0, 0, 0, 80, 141, 151, 62, 10, 215, 35, 60, 255, 127, 255, 127, 254, 255, 255, 191, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 88, 101, 46, 183, 58, 214, 132, 212, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 59, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 37, 81, 255, 127, 37, 209, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 60, 88, 101, 46, 183, 58, 214, 132, 212, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 213, 81, 46, 183, 167, 197, 24, 221, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 59, 255, 127, 254, 255, 254, 255, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 217, 46, 255, 127, 217, 174, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 59, 213, 81, 46, 183, 167, 197, 24, 221, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 27, 65, 27, 193, 27, 193, 113, 223, 249, 251, 191, 187, 154, 153, 153, 62, 0, 0, 0, 128, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 0, 0, 255, 127, 255, 127, 255, 191, 10, 215, 35, 188, 80, 141, 151, 62, 0, 0, 0, 128, 27, 65, 27, 193, 27, 193, 113, 223, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 47, 55, 213, 209, 204, 197, 43, 221, 101, 67, 166, 187, 154, 153, 153, 62, 250, 251, 63, 187, 255, 127, 254, 255, 254, 255, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 0, 0, 37, 81, 37, 81, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 0, 0, 37, 81, 37, 81, 255, 191, 189, 227, 13, 188, 80, 141, 151, 62, 10, 215, 163, 187, 47, 55, 213, 209, 204, 197, 43, 221, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 47, 55, 88, 229, 245, 214, 225, 212, 250, 251, 63, 187, 154, 153, 153, 62, 101, 67, 166, 187, 255, 127, 254, 255, 254, 255, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 0, 0, 217, 46, 217, 46, 255, 191, 10, 215, 163, 187, 80, 141, 151, 62, 189, 227, 13, 188, 47, 55, 88, 229, 245, 214, 225, 212, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 255, 255, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 255, 255, 255, 127, 255, 255, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 227, 190, 119, 141, 74, 242, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 188, 255, 255, 227, 190, 150, 100, 67, 249, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 227, 190, 119, 141, 74, 242, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 227, 190, 150, 100, 67, 249, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 187, 255, 255, 255, 127, 255, 127, 255, 127, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 88, 229, 47, 55, 195, 65, 120, 250, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 88, 229, 47, 55, 98, 173, 21, 250, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 37, 209, 0, 0, 217, 174, 255, 255, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 188, 88, 229, 47, 55, 195, 65, 120, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 213, 209, 47, 55, 143, 33, 21, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 213, 209, 47, 55, 208, 204, 120, 250, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 217, 174, 0, 0, 217, 46, 255, 255, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 187, 213, 209, 47, 55, 143, 33, 21, 250, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 27, 193, 27, 65, 241, 13, 187, 134, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 27, 193, 27, 65, 13, 242, 67, 249, 205, 204, 204, 61, 57, 92, 140, 62, 0, 0, 0, 175, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 255, 127, 0, 0, 0, 0, 255, 255, 166, 155, 196, 61, 113, 61, 138, 62, 0, 0, 0, 128, 27, 193, 27, 65, 241, 13, 187, 134, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 46, 183, 213, 81, 46, 51, 134, 133, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 46, 183, 213, 81, 111, 222, 233, 133, 205, 204, 204, 61, 27, 195, 140, 62, 204, 251, 63, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 255, 127, 217, 46, 37, 209, 255, 127, 166, 155, 196, 61, 11, 237, 138, 62, 10, 215, 163, 59, 46, 183, 213, 81, 46, 51, 134, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 46, 183, 88, 101, 156, 82, 233, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 46, 183, 88, 101, 59, 190, 134, 133, 205, 204, 204, 61, 49, 220, 141, 62, 99, 67, 166, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 255, 127, 37, 81, 37, 81, 255, 127, 166, 155, 196, 61, 205, 204, 140, 62, 189, 227, 13, 60, 46, 183, 88, 101, 156, 82, 233, 133, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 27, 193, 255, 127, 135, 114, 180, 141, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 27, 193, 255, 127, 104, 155, 187, 134, 205, 204, 204, 61, 41, 92, 143, 62, 250, 251, 191, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 255, 127, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 41, 92, 143, 62, 10, 215, 35, 60, 27, 193, 255, 127, 135, 114, 180, 141, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 46, 183, 166, 154, 242, 116, 29, 159, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 46, 183, 166, 154, 210, 139, 176, 150, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 59, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 217, 174, 255, 127, 108, 151, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 255, 127, 217, 174, 255, 127, 108, 151, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 46, 183, 166, 154, 242, 116, 29, 159, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 60, 46, 183, 166, 154, 210, 139, 176, 150, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 37, 209, 255, 127, 146, 168, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 255, 127, 37, 209, 255, 127, 146, 168, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 46, 183, 41, 174, 43, 116, 55, 175, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 59, 46, 183, 41, 174, 12, 139, 104, 166, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 46, 183, 41, 174, 44, 116, 55, 175, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 46, 183, 41, 174, 12, 139, 104, 166, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 59, 255, 255, 255, 127, 255, 127, 255, 127, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 27, 193, 227, 190, 135, 114, 247, 198, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 27, 193, 227, 190, 119, 141, 6, 185, 205, 204, 204, 61, 25, 92, 146, 62, 0, 0, 0, 47, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 255, 127, 255, 255, 255, 127, 255, 191, 166, 155, 196, 61, 225, 122, 148, 62, 0, 0, 0, 128, 27, 193, 227, 190, 135, 114, 247, 198, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 213, 209, 207, 200, 242, 116, 150, 217, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 213, 209, 207, 200, 210, 139, 198, 208, 205, 204, 204, 61, 55, 245, 145, 62, 204, 251, 63, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 217, 174, 255, 255, 255, 127, 108, 215, 166, 155, 196, 61, 71, 203, 147, 62, 10, 215, 163, 187, 213, 209, 207, 200, 242, 116, 150, 217, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 88, 229, 207, 200, 44, 116, 77, 233, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 88, 229, 207, 200, 12, 139, 225, 224, 205, 204, 204, 61, 33, 220, 144, 62, 99, 67, 166, 187, 255, 255, 255, 127, 255, 127, 255, 127, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 37, 209, 255, 255, 255, 127, 146, 232, 166, 155, 196, 61, 133, 235, 145, 62, 189, 227, 13, 188, 88, 229, 207, 200, 12, 139, 225, 224, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 37, 81, 255, 127, 255, 127, 255, 127, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 141, 153, 255, 127, 152, 108, 224, 243, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 61, 141, 153, 255, 127, 61, 152, 75, 246, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 141, 153, 255, 127, 152, 108, 224, 243, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 141, 153, 255, 127, 61, 152, 75, 246, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 37, 209, 255, 127, 255, 127, 254, 255, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 61, 37, 209, 255, 127, 255, 127, 254, 255, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 108, 142, 245, 96, 80, 150, 208, 231, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 61, 9, 185, 248, 89, 199, 163, 198, 227, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 37, 81, 255, 127, 255, 127, 255, 127, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 108, 142, 245, 96, 120, 176, 248, 223, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 61, 108, 142, 245, 96, 80, 150, 208, 231, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 37, 81, 255, 127, 255, 127, 255, 127, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 213, 122, 36, 75, 199, 197, 29, 207, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 61, 213, 122, 36, 75, 96, 173, 147, 214, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 213, 122, 36, 75, 199, 197, 29, 207, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 61, 199, 163, 112, 56, 9, 185, 2, 211, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 37, 81, 255, 127, 255, 127, 255, 127, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 141, 100, 250, 74, 9, 210, 231, 185, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 61, 141, 100, 250, 74, 212, 193, 181, 197, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 141, 100, 250, 74, 9, 210, 231, 185, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 141, 100, 250, 74, 212, 193, 180, 197, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 255, 127, 0, 0, 37, 209, 255, 191, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 61, 255, 127, 0, 0, 37, 209, 255, 191, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 153, 78, 255, 82, 98, 186, 21, 168, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 153, 78, 255, 82, 186, 183, 191, 177, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 61, 37, 81, 255, 127, 255, 127, 255, 127, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 153, 78, 255, 82, 186, 183, 191, 177, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 153, 78, 255, 82, 98, 186, 21, 168, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 143, 71, 199, 35, 9, 185, 251, 172, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 61, 143, 71, 199, 35, 9, 185, 251, 172, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 70, 55, 80, 99, 16, 164, 103, 149, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 70, 55, 80, 99, 138, 163, 223, 161, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 61, 37, 81, 255, 127, 255, 127, 255, 127, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 70, 55, 80, 99, 138, 163, 223, 161, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 61, 6, 38, 10, 57, 199, 163, 55, 156, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 131, 28, 255, 127, 92, 103, 189, 130, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 131, 28, 255, 127, 124, 133, 81, 140, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 61, 37, 81, 255, 127, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 131, 28, 255, 127, 124, 133, 81, 140, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 131, 28, 255, 127, 92, 103, 189, 130, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 0, 0, 217, 174, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 61, 0, 0, 217, 174, 255, 127, 255, 127, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 70, 55, 174, 156, 62, 60, 196, 145, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 70, 55, 174, 156, 48, 85, 8, 146, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 61, 37, 81, 255, 127, 255, 127, 255, 127, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 70, 55, 174, 156, 48, 85, 8, 146, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 70, 55, 174, 156, 62, 60, 196, 145, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 6, 38, 244, 198, 143, 71, 227, 145, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 61, 6, 38, 244, 198, 143, 71, 227, 145, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 153, 78, 255, 172, 127, 28, 221, 155, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 153, 78, 255, 172, 211, 47, 48, 157, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 61, 37, 81, 255, 127, 255, 127, 255, 127, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 153, 78, 255, 172, 211, 47, 48, 157, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 153, 78, 255, 172, 127, 28, 221, 155, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 143, 71, 55, 220, 6, 38, 132, 156, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 61, 143, 71, 55, 220, 6, 38, 132, 156, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 37, 81, 255, 127, 255, 127, 255, 127, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 141, 100, 4, 181, 107, 11, 20, 223, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 61, 141, 100, 4, 181, 48, 12, 4, 169, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 141, 100, 4, 181, 107, 11, 20, 223, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 61, 255, 127, 254, 255, 0, 0, 146, 168, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 213, 122, 218, 180, 59, 30, 27, 221, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 61, 199, 163, 142, 199, 6, 38, 121, 227, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 37, 81, 255, 127, 255, 127, 255, 127, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 213, 122, 218, 180, 41, 45, 78, 233, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 61, 213, 122, 218, 180, 59, 30, 27, 221, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 37, 81, 255, 127, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 108, 142, 9, 159, 162, 79, 214, 244, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 61, 108, 142, 9, 159, 242, 63, 194, 231, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 108, 142, 9, 159, 162, 79, 214, 244, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 61, 9, 185, 6, 166, 143, 71, 27, 238, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 124, 99, 162, 152, 64, 253, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 124, 99, 130, 122, 173, 243, 60, 149, 97, 189, 41, 92, 143, 62, 204, 92, 171, 189, 0, 0, 37, 209, 255, 127, 255, 127, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 0, 0, 124, 99, 162, 152, 64, 253, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 0, 0, 124, 99, 130, 122, 173, 243, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 217, 46, 255, 127, 255, 127, 255, 255, 151, 20, 104, 189, 41, 92, 143, 62, 11, 7, 160, 189, 217, 46, 255, 127, 255, 127, 254, 255, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 175, 28, 184, 72, 116, 92, 30, 222, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 175, 28, 184, 72, 238, 91, 151, 234, 111, 204, 94, 189, 49, 220, 141, 62, 145, 42, 172, 189, 0, 0, 37, 209, 255, 127, 255, 127, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 175, 28, 184, 72, 238, 91, 151, 234, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 175, 28, 184, 72, 116, 92, 30, 222, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 245, 70, 248, 89, 55, 92, 198, 227, 250, 83, 99, 189, 205, 204, 140, 62, 64, 102, 161, 189, 245, 70, 248, 89, 55, 92, 198, 227, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 45, 102, 49, 68, 72, 62, 206, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 45, 102, 49, 156, 69, 233, 215, 2, 49, 87, 189, 27, 195, 140, 62, 188, 92, 174, 189, 0, 0, 37, 209, 255, 127, 255, 127, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 0, 45, 102, 49, 68, 72, 62, 206, 32, 88, 86, 189, 11, 237, 138, 62, 196, 37, 165, 189, 55, 92, 112, 56, 245, 70, 2, 211, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 0, 0, 37, 209, 255, 127, 255, 127, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 4, 53, 113, 27, 42, 62, 73, 186, 207, 204, 76, 189, 57, 92, 140, 62, 172, 92, 177, 189, 4, 53, 113, 27, 245, 45, 23, 198, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 4, 53, 113, 27, 245, 45, 23, 198, 168, 155, 68, 189, 113, 61, 138, 62, 124, 68, 170, 189, 255, 127, 0, 0, 217, 46, 255, 191, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 0, 0, 37, 209, 255, 127, 255, 127, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 218, 52, 42, 5, 158, 82, 106, 169, 156, 104, 66, 189, 27, 195, 140, 62, 156, 92, 180, 189, 218, 52, 42, 5, 55, 58, 225, 176, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 218, 52, 42, 5, 158, 82, 106, 169, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 218, 52, 42, 5, 55, 58, 225, 176, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 111, 184, 199, 35, 245, 70, 251, 172, 48, 223, 50, 189, 11, 237, 138, 62, 52, 99, 175, 189, 111, 184, 199, 35, 245, 70, 251, 172, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 245, 224, 108, 14, 134, 79, 5, 160, 86, 227, 37, 189, 205, 204, 140, 62, 184, 34, 179, 189, 248, 217, 10, 57, 55, 92, 55, 156, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 0, 0, 37, 209, 255, 127, 255, 127, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 245, 224, 108, 14, 174, 105, 45, 152, 47, 205, 58, 189, 49, 220, 141, 62, 199, 142, 182, 189, 245, 224, 108, 14, 134, 79, 5, 160, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 0, 0, 37, 209, 255, 127, 255, 127, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 255, 255, 112, 230, 102, 147, 30, 140, 98, 4, 56, 189, 41, 92, 143, 62, 140, 92, 183, 189, 255, 255, 112, 230, 193, 103, 178, 137, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 255, 255, 112, 230, 102, 147, 30, 140, 185, 34, 33, 189, 41, 92, 143, 62, 237, 129, 180, 189, 254, 255, 217, 174, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 0, 0, 37, 209, 255, 127, 255, 127, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 245, 224, 146, 241, 12, 192, 60, 152, 47, 205, 58, 189, 33, 220, 144, 62, 199, 142, 182, 189, 245, 224, 146, 241, 92, 176, 39, 139, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 245, 224, 146, 241, 92, 176, 39, 139, 86, 227, 37, 189, 133, 235, 145, 62, 184, 34, 179, 189, 248, 217, 244, 198, 111, 184, 227, 145, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 218, 52, 212, 250, 195, 225, 227, 162, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 218, 52, 212, 250, 213, 210, 175, 150, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 111, 184, 55, 220, 248, 217, 132, 156, 48, 223, 50, 189, 71, 203, 147, 62, 52, 99, 175, 189, 111, 184, 55, 220, 248, 217, 132, 156, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 0, 0, 37, 209, 255, 127, 255, 127, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 218, 52, 212, 250, 195, 225, 227, 162, 156, 104, 66, 189, 55, 245, 145, 62, 156, 92, 180, 189, 218, 52, 212, 250, 213, 210, 175, 150, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 0, 0, 37, 209, 255, 127, 255, 127, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 4, 53, 141, 228, 206, 243, 250, 214, 207, 204, 76, 189, 25, 92, 146, 62, 172, 92, 177, 189, 4, 53, 141, 228, 147, 244, 234, 160, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 4, 53, 141, 228, 147, 244, 234, 160, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 4, 53, 141, 228, 206, 243, 250, 214, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 255, 127, 255, 255, 255, 255, 146, 168, 168, 155, 68, 189, 225, 122, 148, 62, 124, 68, 170, 189, 255, 127, 255, 255, 255, 255, 146, 168, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 45, 152, 206, 43, 208, 205, 226, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 45, 152, 206, 128, 227, 33, 228, 2, 49, 87, 189, 55, 245, 145, 62, 188, 92, 174, 189, 0, 0, 37, 209, 255, 127, 255, 127, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 0, 45, 152, 206, 43, 208, 205, 226, 32, 88, 86, 189, 71, 203, 147, 62, 196, 37, 165, 189, 55, 92, 142, 199, 248, 217, 121, 227, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 175, 28, 70, 183, 206, 170, 246, 237, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 175, 28, 70, 183, 192, 195, 57, 238, 111, 204, 94, 189, 33, 220, 144, 62, 145, 42, 172, 189, 0, 0, 37, 209, 255, 127, 255, 127, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 175, 28, 70, 183, 206, 170, 246, 237, 250, 83, 99, 189, 133, 235, 145, 62, 64, 102, 161, 189, 245, 70, 6, 166, 111, 184, 27, 238)
+}]
+blend_shape_mode = 0
+shadow_mesh = SubResource("ArrayMesh_8vbk1")
-[sub_resource type="CylinderShape" id=2]
+[sub_resource type="CylinderShape3D" id="CylinderShape3D_uiu4s"]
height = 0.3
radius = 0.01
-[sub_resource type="CylinderShape" id=3]
+[sub_resource type="CylinderShape3D" id="CylinderShape3D_8lktl"]
height = 0.1
radius = 0.01
-[node name="TeacupStand" type="StaticBody"]
+[node name="TeacupStand" type="StaticBody3D"]
-[node name="Stand" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
+[node name="Stand" type="MeshInstance3D" parent="."]
+gi_mode = 0
+mesh = SubResource("ArrayMesh_sini6")
+skeleton = NodePath("")
+surface_material_override/0 = ExtResource("2")
-[node name="CollisionShape1" type="CollisionShape" parent="."]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0 )
-shape = SubResource( 2 )
+[node name="CollisionShape1" type="CollisionShape3D" parent="."]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.15, 0)
+shape = SubResource("CylinderShape3D_uiu4s")
-[node name="CollisionShape2" type="CollisionShape" parent="."]
-transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.05, 0.28, 0 )
-shape = SubResource( 3 )
+[node name="CollisionShape2" type="CollisionShape3D" parent="."]
+transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0.05, 0.28, 0)
+shape = SubResource("CylinderShape3D_8lktl")
-[node name="CollisionShape3" type="CollisionShape" parent="."]
-transform = Transform( 2.18557e-08, 0.5, -0.866025, 1, -4.37114e-08, 0, -3.78552e-08, -0.866025, -0.5, -0.025, 0.28, 0.043 )
-shape = SubResource( 3 )
+[node name="CollisionShape3" type="CollisionShape3D" parent="."]
+transform = Transform3D(2.18557e-08, 0.5, -0.866025, 1, -4.37114e-08, 0, -3.78552e-08, -0.866025, -0.5, -0.025, 0.28, 0.043)
+shape = SubResource("CylinderShape3D_8lktl")
-[node name="CollisionShape4" type="CollisionShape" parent="."]
-transform = Transform( 2.18557e-08, 0.5, 0.866026, 1, -4.37114e-08, 0, 3.78552e-08, 0.866026, -0.5, -0.025, 0.28, -0.043 )
-shape = SubResource( 3 )
+[node name="CollisionShape4" type="CollisionShape3D" parent="."]
+transform = Transform3D(2.18557e-08, 0.5, 0.866026, 1, -4.37114e-08, 0, 3.78552e-08, 0.866026, -0.5, -0.025, 0.28, -0.043)
+shape = SubResource("CylinderShape3D_8lktl")
-[node name="SnapZone1" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.0796152, 0.28, 0 )
+[node name="SnapZone1" parent="." groups=["TeacupStand"] instance=ExtResource("1")]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.0796152, 0.28, 0)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.1
snap_require = "Teacup"
-[node name="SnapZone2" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )]
-transform = Transform( 0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -0.04, 0.28, 0.069 )
+[node name="SnapZone2" parent="." groups=["TeacupStand"] instance=ExtResource("1")]
+transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -0.04, 0.28, 0.069)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.1
snap_require = "Teacup"
-[node name="SnapZone3" parent="." groups=["TeacupStand"] instance=ExtResource( 1 )]
-transform = Transform( -0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -0.04, 0.28, -0.069 )
+[node name="SnapZone3" parent="." groups=["TeacupStand"] instance=ExtResource("1")]
+transform = Transform3D(-0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866025, -0.04, 0.28, -0.069)
collision_layer = 4
collision_mask = 65540
grab_distance = 0.1
diff --git a/scenes/pickable_demo/pickable_demo.png.import b/scenes/pickable_demo/pickable_demo.png.import
index 48cbd7ef..b695f2bb 100644
--- a/scenes/pickable_demo/pickable_demo.png.import
+++ b/scenes/pickable_demo/pickable_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.stex"
-path.etc="res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc.stex"
+type="CompressedTexture2D"
+uid="uid://ny4n43p3e3du"
+path.s3tc="res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.ctex"
+path.etc2="res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/pickable_demo/pickable_demo.png"
-dest_files=[ "res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.stex", "res://.import/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc.stex" ]
+dest_files=["res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.s3tc.ctex", "res://.godot/imported/pickable_demo.png-bfbfde10982f312eeab6ff56e66de475.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/pickable_demo/pickable_demo.tscn b/scenes/pickable_demo/pickable_demo.tscn
index b395eaa6..3a1d6cad 100644
--- a/scenes/pickable_demo/pickable_demo.tscn
+++ b/scenes/pickable_demo/pickable_demo.tscn
@@ -1,175 +1,173 @@
-[gd_scene load_steps=26 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" type="PackedScene" id=4]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=5]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=10]
-[ext_resource path="res://scenes/pickable_demo/objects/snap_toy_red.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/pickable_demo/objects/snap_toy_yellow.tscn" type="PackedScene" id=12]
-[ext_resource path="res://scenes/pickable_demo/objects/grab_ball.tscn" type="PackedScene" id=13]
-[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.tscn" type="PackedScene" id=14]
-[ext_resource path="res://assets/meshes/table/table.tscn" type="PackedScene" id=15]
-[ext_resource path="res://scenes/pickable_demo/objects/snap_tray.tscn" type="PackedScene" id=16]
-[ext_resource path="res://scenes/pickable_demo/objects/hammer.tscn" type="PackedScene" id=17]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/pickable_demo/objects/teacup.tscn" type="PackedScene" id=19]
-[ext_resource path="res://scenes/pickable_demo/objects/saucer.tscn" type="PackedScene" id=20]
-[ext_resource path="res://scenes/pickable_demo/objects/teacup_stand.tscn" type="PackedScene" id=21]
-[ext_resource path="res://scenes/pickable_demo/objects/instructions.tscn" type="PackedScene" id=22]
-[ext_resource path="res://scenes/pickable_demo/objects/belt_snap_zone.tscn" type="PackedScene" id=23]
-[ext_resource path="res://scenes/pickable_demo/objects/knife.tscn" type="PackedScene" id=24]
-[ext_resource path="res://addons/godot-xr-tools/objects/return_to_snap_zone.gd" type="Script" id=25]
-
-[node name="PickableDemo" instance=ExtResource( 1 )]
-
-[node name="LeftPhysicsHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 3 )]
-
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[gd_scene load_steps=27 format=3 uid="uid://cp1qvegshx1lf"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://bdwmserhqai5h" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_physics_hand_low.tscn" id="2_8wi6c"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_kjksy"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://btf05hjpw6k05" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_physics_hand_low.tscn" id="5_laayj"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="6"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="7_kskan"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://1mb16xioom74" path="res://scenes/pickable_demo/objects/belt_snap_zone.tscn" id="10_5odnk"]
+[ext_resource type="PackedScene" uid="uid://cf024hg5alcif" path="res://scenes/pickable_demo/objects/snap_toy_red.tscn" id="11"]
+[ext_resource type="PackedScene" uid="uid://cboxrvj4xdi6f" path="res://scenes/pickable_demo/objects/snap_toy_yellow.tscn" id="12"]
+[ext_resource type="PackedScene" path="res://scenes/pickable_demo/objects/instructions.tscn" id="12_282ma"]
+[ext_resource type="PackedScene" uid="uid://clta811tt773x" path="res://scenes/pickable_demo/objects/grab_ball.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://djkjuy7wct10q" path="res://scenes/pickable_demo/objects/grab_cube.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://gi3cc6cxi81j" path="res://scenes/pickable_demo/objects/saucer.tscn" id="14_ani61"]
+[ext_resource type="PackedScene" uid="uid://cbcbffvk7xth4" path="res://assets/meshes/table/table.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://b3mykwawmnxpi" path="res://scenes/pickable_demo/objects/teacup_stand.tscn" id="15_bq355"]
+[ext_resource type="PackedScene" uid="uid://c6rmke57xw5lg" path="res://scenes/pickable_demo/objects/snap_tray.tscn" id="16"]
+[ext_resource type="PackedScene" uid="uid://chww0na0ryl1m" path="res://scenes/pickable_demo/objects/teacup.tscn" id="16_v5unt"]
+[ext_resource type="PackedScene" uid="uid://de0guxhrn5ouk" path="res://scenes/pickable_demo/objects/hammer.tscn" id="17"]
+[ext_resource type="PackedScene" uid="uid://bxk2dud5pq1uf" path="res://scenes/pickable_demo/objects/knife.tscn" id="19_6grml"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/objects/return_to_snap_zone.gd" id="19_iqmkd"]
+
+[node name="PickableDemo" instance=ExtResource("1")]
+script = ExtResource("2_kjksy")
+
+[node name="LeftPhysicsHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2_8wi6c")]
+
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
strafe = true
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("8")]
grab_distance = 0.1
-grab_collision_mask = 4
ranged_angle = 10.0
-[node name="RightPhysicsHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 4 )]
+[node name="RightPhysicsHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5_laayj")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 10 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("10")]
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("8")]
grab_distance = 0.1
-grab_collision_mask = 4
ranged_angle = 10.0
-[node name="FunctionPointer" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 18 )]
+[node name="FunctionPointer" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7_kskan")]
show_laser = 2
laser_length = 1
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 9 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("9")]
-[node name="BeltSnapZone01" parent="ARVROrigin/PlayerBody" index="0" instance=ExtResource( 23 )]
-transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -0.176713, 1, -0.176713 )
+[node name="BeltSnapZone01" parent="XROrigin3D/PlayerBody" index="0" instance=ExtResource("10_5odnk")]
+transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -0.177, 1, -0.177)
-[node name="BeltSnapZone02" parent="ARVROrigin/PlayerBody" index="1" instance=ExtResource( 23 )]
-transform = Transform( 0.92388, 0, 0.382683, 0, 1, 0, -0.382683, 0, 0.92388, -0.0956363, 1, -0.230887 )
+[node name="BeltSnapZone02" parent="XROrigin3D/PlayerBody" index="1" instance=ExtResource("10_5odnk")]
+transform = Transform3D(0.92388, 0, 0.382683, 0, 1, 0, -0.382683, 0, 0.92388, -0.096, 1, -0.231)
-[node name="BeltSnapZone03" parent="ARVROrigin/PlayerBody" index="2" instance=ExtResource( 23 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.45058e-09, 1, -0.24991 )
+[node name="BeltSnapZone03" parent="XROrigin3D/PlayerBody" index="2" instance=ExtResource("10_5odnk")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -0.25)
-[node name="BeltSnapZone04" parent="ARVROrigin/PlayerBody" index="3" instance=ExtResource( 23 )]
-transform = Transform( 0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, 0.0956363, 1, -0.230887 )
+[node name="BeltSnapZone04" parent="XROrigin3D/PlayerBody" index="3" instance=ExtResource("10_5odnk")]
+transform = Transform3D(0.92388, 0, -0.382683, 0, 1, 0, 0.382683, 0, 0.92388, 0.096, 1, -0.231)
-[node name="BeltSnapZone05" parent="ARVROrigin/PlayerBody" index="4" instance=ExtResource( 23 )]
-transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0.176713, 1, -0.176713 )
+[node name="BeltSnapZone05" parent="XROrigin3D/PlayerBody" index="4" instance=ExtResource("10_5odnk")]
+transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0.177, 1, -0.177)
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 2 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("2")]
-[node name="Teleport" parent="." index="2" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 )
+[node name="Teleport" parent="." index="2" instance=ExtResource("5")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
scene_base = NodePath("..")
-title = ExtResource( 6 )
+title = ExtResource("6")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 22 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -5 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("12_282ma")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -5)
-[node name="Table2" parent="." index="4" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -3 )
+[node name="Table2" parent="." index="4" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -3)
-[node name="Table1" parent="." index="5" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -3 )
+[node name="Table1" parent="." index="5" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -3)
-[node name="Saucer" parent="Table1" index="10" instance=ExtResource( 20 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.583645, 0.828995, 0.266177 )
+[node name="Saucer" parent="Table1" index="10" instance=ExtResource("14_ani61")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.584, 0.829, 0.266)
-[node name="TeacupStand" parent="Table1" index="11" instance=ExtResource( 21 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.8, 0 )
+[node name="TeacupStand" parent="Table1" index="11" instance=ExtResource("15_bq355")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.8, 0)
[node name="SnapZone1" parent="Table1/TeacupStand" index="5"]
initial_object = NodePath("../Teacup")
-[node name="Teacup" parent="Table1/TeacupStand" index="8" instance=ExtResource( 19 )]
-transform = Transform( -4.37114e-08, 0, -1, 1, -4.37114e-08, -4.37114e-08, -4.37114e-08, -1, 1.91069e-15, 0.08, 0.204674, 0.0395086 )
+[node name="Teacup" parent="Table1/TeacupStand" index="8" instance=ExtResource("16_v5unt")]
+transform = Transform3D(4.81713e-09, 4.34452e-08, 1, 0.993909, -0.110203, 0, 0.110203, 0.993909, -4.37114e-08, 0.0796152, 0.205038, -0.0390518)
+collision_layer = 65536
+collision_mask = 0
+freeze = true
[node name="XRToolsReturnToSnapZone" type="Node" parent="Table1/TeacupStand/Teacup" index="6"]
-script = ExtResource( 25 )
+script = ExtResource("19_iqmkd")
snap_zone_path = NodePath("../../SnapZone1")
-[node name="Teacup" parent="Table1" index="12" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.234713, 0.824552, 0.266177 )
+[node name="Teacup" parent="Table1" index="12" instance=ExtResource("16_v5unt")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.235, 0.825, 0.266)
-[node name="Knife1" parent="Table1" index="13" instance=ExtResource( 24 )]
-transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.693906, 0.834034, 2.38419e-07 )
+[node name="Knife1" parent="Table1" index="13" instance=ExtResource("19_6grml")]
+transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.694, 0.834, 0)
-[node name="Knife2" parent="Table1" index="14" instance=ExtResource( 24 )]
-transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.593906, 0.834034, 2.38419e-07 )
+[node name="Knife2" parent="Table1" index="14" instance=ExtResource("19_6grml")]
+transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.594, 0.834, 0)
-[node name="Knife3" parent="Table1" index="15" instance=ExtResource( 24 )]
-transform = Transform( 1.91069e-15, -1, -4.37114e-08, -4.37114e-08, -4.37114e-08, 1, -1, 0, -4.37114e-08, -0.493906, 0.834034, 2.38419e-07 )
+[node name="Knife3" parent="Table1" index="15" instance=ExtResource("19_6grml")]
+transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.494, 0.834, 0)
-[node name="RemoteGrabBalls" type="Spatial" parent="." index="6"]
+[node name="RemoteGrabBalls" type="Node3D" parent="." index="6"]
-[node name="Ball1" parent="RemoteGrabBalls" index="0" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -2.6 )
+[node name="Ball1" parent="RemoteGrabBalls" index="0" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -2.6)
-[node name="Ball2" parent="RemoteGrabBalls" index="1" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -3.2 )
+[node name="Ball2" parent="RemoteGrabBalls" index="1" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.6, 0.2, -3.2)
-[node name="Ball3" parent="RemoteGrabBalls" index="2" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.2, -2.9 )
+[node name="Ball3" parent="RemoteGrabBalls" index="2" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 0.2, -2.9)
-[node name="Hammers" type="Spatial" parent="." index="7"]
+[node name="Hammers" type="Node3D" parent="." index="7"]
-[node name="Hammer" parent="Hammers" index="0" instance=ExtResource( 17 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.6 )
+[node name="Hammer" parent="Hammers" index="0" instance=ExtResource("17")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.6)
-[node name="Hammer4" parent="Hammers" index="1" instance=ExtResource( 17 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.2 )
+[node name="Hammer4" parent="Hammers" index="1" instance=ExtResource("17")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.4, 0.15, -3.2)
-[node name="Hammer2" parent="Hammers" index="2" instance=ExtResource( 17 )]
-transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -2.6, 0.15, -3.5 )
+[node name="Hammer2" parent="Hammers" index="2" instance=ExtResource("17")]
+transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -2.6, 0.15, -3.5)
-[node name="Hammer3" parent="Hammers" index="3" instance=ExtResource( 17 )]
-transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -2.2, 0.15, -3.3 )
+[node name="Hammer3" parent="Hammers" index="3" instance=ExtResource("17")]
+transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -2.2, 0.15, -3.3)
-[node name="GrabCubes" type="Spatial" parent="." index="8"]
+[node name="GrabCubes" type="Node3D" parent="." index="8"]
-[node name="Cube1" parent="GrabCubes" index="0" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.875, -2.8 )
+[node name="Cube1" parent="GrabCubes" index="0" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1, 0.875, -2.8)
-[node name="Cube2" parent="GrabCubes" index="1" instance=ExtResource( 14 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0.875, -2.8 )
+[node name="Cube2" parent="GrabCubes" index="1" instance=ExtResource("14")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.9, 0.875, -2.8)
-[node name="Cube3" parent="GrabCubes" index="2" instance=ExtResource( 14 )]
-transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -1, 0.975, -2.8 )
+[node name="Cube3" parent="GrabCubes" index="2" instance=ExtResource("14")]
+transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -1, 0.975, -2.8)
-[node name="SnapToys" type="Spatial" parent="." index="9"]
+[node name="SnapToys" type="Node3D" parent="." index="9"]
-[node name="SnapTray1" parent="SnapToys" index="0" instance=ExtResource( 16 )]
-transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 1.5, 1, -2.9 )
-tray_active = true
+[node name="SnapTray1" parent="SnapToys" index="0" instance=ExtResource("16")]
+transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 1.5, 1, -2.9)
-[node name="SnapTray2" parent="SnapToys" index="1" instance=ExtResource( 16 )]
-transform = Transform( 0.996195, 0, -0.0871558, 0, 1, 0, 0.0871558, 0, 0.996195, 1.1, 1, -3 )
+[node name="SnapTray2" parent="SnapToys" index="1" instance=ExtResource("16")]
+transform = Transform3D(0.996195, 0, -0.0871558, 0, 1, 0, 0.0871558, 0, 0.996195, 1.1, 1, -3)
+tray_active = false
-[node name="SnapToyRed" parent="SnapToys" index="2" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.9, -3 )
+[node name="SnapToyRed" parent="SnapToys" index="2" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0.9, -3)
-[node name="SnapToyYellow" parent="SnapToys" index="3" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8, 0.9, -3 )
+[node name="SnapToyYellow" parent="SnapToys" index="3" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8, 0.9, -3)
[editable path="Table1/TeacupStand"]
diff --git a/scenes/pickable_demo/poses/pose_hammer_left.tres b/scenes/pickable_demo/poses/pose_hammer_left.tres
index f8c8a0ca..9ae7dc8d 100644
--- a/scenes/pickable_demo/poses/pose_hammer_left.tres
+++ b/scenes/pickable_demo/poses/pose_hammer_left.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://dd4sqdg8upblx"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.anim" type="Animation" id=3]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1"]
+[ext_resource type="Animation" uid="uid://di384xtde8ydf" path="res://addons/godot-xr-tools/hands/animations/left/Grip 2.res" id="1_mrmvg"]
+[ext_resource type="Animation" uid="uid://bediglpx0rj7i" path="res://addons/godot-xr-tools/hands/animations/left/Grip 5.res" id="2_a8ewd"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 2 )
-closed_pose = ExtResource( 3 )
+script = ExtResource("1")
+open_pose = ExtResource("2_a8ewd")
+closed_pose = ExtResource("1_mrmvg")
diff --git a/scenes/pickable_demo/poses/pose_hammer_right.tres b/scenes/pickable_demo/poses/pose_hammer_right.tres
index 2d521d3d..c7cb769d 100644
--- a/scenes/pickable_demo/poses/pose_hammer_right.tres
+++ b/scenes/pickable_demo/poses/pose_hammer_right.tres
@@ -1,10 +1,10 @@
-[gd_resource type="Resource" load_steps=4 format=2]
+[gd_resource type="Resource" load_steps=4 format=3 uid="uid://c7lps5l5dj652"]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" type="Script" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.anim" type="Animation" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.anim" type="Animation" id=3]
+[ext_resource type="Animation" uid="uid://r8hleealhrqt" path="res://addons/godot-xr-tools/hands/animations/right/Grip 2.res" id="1_2ro2s"]
+[ext_resource type="Script" path="res://addons/godot-xr-tools/hands/poses/hand_pose_settings.gd" id="1_kfmxf"]
+[ext_resource type="Animation" uid="uid://s1vqcxyqcvea" path="res://addons/godot-xr-tools/hands/animations/right/Grip 5.res" id="2_s40ub"]
[resource]
-script = ExtResource( 1 )
-open_pose = ExtResource( 3 )
-closed_pose = ExtResource( 2 )
+script = ExtResource("1_kfmxf")
+open_pose = ExtResource("2_s40ub")
+closed_pose = ExtResource("1_2ro2s")
diff --git a/scenes/pointer_demo/objects/color_change_cube.gd b/scenes/pointer_demo/objects/color_change_cube.gd
index f524443b..67ea046c 100644
--- a/scenes/pointer_demo/objects/color_change_cube.gd
+++ b/scenes/pointer_demo/objects/color_change_cube.gd
@@ -1,22 +1,22 @@
-extends RigidBody
+extends RigidBody3D
signal pointer_pressed(at)
-var _material := SpatialMaterial.new()
+var _material := StandardMaterial3D.new()
# Called when the node enters the scene tree for the first time.
func _ready():
# Connect pointer_pressed signals
- connect("pointer_pressed", self, "_on_pointer_pressed")
+ connect("pointer_pressed",Callable(self,"_on_pointer_pressed"))
# Generate a random material color
_set_random_color()
# Change the mesh to use our generated material
- $MeshInstance.material_override = _material
+ $MeshInstance3D.material_override = _material
# Called when a user clicks on the cube using the pointer
diff --git a/scenes/pointer_demo/objects/color_change_cube.tscn b/scenes/pointer_demo/objects/color_change_cube.tscn
index 2f591691..21d1d94b 100644
--- a/scenes/pointer_demo/objects/color_change_cube.tscn
+++ b/scenes/pointer_demo/objects/color_change_cube.tscn
@@ -1,20 +1,21 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://bk34216s7eynw"]
-[ext_resource path="res://scenes/pointer_demo/objects/color_change_cube.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://scenes/pointer_demo/objects/color_change_cube.gd" id="1"]
-[sub_resource type="CubeMesh" id=1]
-size = Vector3( 0.5, 0.5, 0.5 )
+[sub_resource type="BoxMesh" id="1"]
+size = Vector3(0.5, 0.5, 0.5)
-[sub_resource type="BoxShape" id=2]
-extents = Vector3( 0.25, 0.25, 0.25 )
+[sub_resource type="BoxShape3D" id="2"]
+size = Vector3(0.5, 0.5, 0.5)
-[node name="ColorChangeCube" type="RigidBody"]
+[node name="ColorChangeCube" type="RigidBody3D"]
collision_layer = 1048577
-mode = 1
-script = ExtResource( 1 )
+collision_mask = 0
+freeze = true
+script = ExtResource("1")
-[node name="MeshInstance" type="MeshInstance" parent="."]
-mesh = SubResource( 1 )
+[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
+mesh = SubResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="."]
-shape = SubResource( 2 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
+shape = SubResource("2")
diff --git a/scenes/pointer_demo/objects/display.tscn b/scenes/pointer_demo/objects/display.tscn
index 5d160278..99bf5ec5 100644
--- a/scenes/pointer_demo/objects/display.tscn
+++ b/scenes/pointer_demo/objects/display.tscn
@@ -1,42 +1,42 @@
-[gd_scene load_steps=7 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://nnse6wsxsjeo"]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=1]
-[ext_resource path="res://scenes/pointer_demo/objects/keyboard_test_screen.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cge2ou48mud7b" path="res://scenes/pointer_demo/objects/keyboard_test_screen.tscn" id="2"]
-[sub_resource type="QuadMesh" id=1]
+[sub_resource type="QuadMesh" id="1"]
resource_local_to_scene = true
-size = Vector2( 2.8, 1.3 )
+size = Vector2(2.8, 1.9)
-[sub_resource type="ViewportTexture" id=2]
+[sub_resource type="ViewportTexture" id="ViewportTexture_i4k7p"]
-[sub_resource type="SpatialMaterial" id=3]
-resource_local_to_scene = true
-flags_transparent = true
-flags_unshaded = true
-params_cull_mode = 2
-albedo_texture = SubResource( 2 )
+[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cl1sj"]
+transparency = 1
+cull_mode = 2
+shading_mode = 0
+albedo_texture = SubResource("ViewportTexture_i4k7p")
+texture_filter = 1
-[sub_resource type="BoxShape" id=4]
+[sub_resource type="BoxShape3D" id="4"]
resource_local_to_scene = true
-extents = Vector3( 1.4, 0.65, 0.01 )
+size = Vector3(2.8, 1.9, 0.02)
-[node name="Display" instance=ExtResource( 1 )]
-screen_size = Vector2( 2.8, 1.3 )
-viewport_size = Vector2( 280, 130 )
-scene = ExtResource( 2 )
+[node name="Display" instance=ExtResource("1")]
+screen_size = Vector2(2.8, 1.9)
+viewport_size = Vector2(280, 190)
+scene = ExtResource("2")
update_mode = 2
throttle_fps = 15.0
[node name="Viewport" parent="." index="0"]
-size = Vector2( 280, 130 )
+size = Vector2i(280, 190)
[node name="Screen" parent="." index="1"]
-mesh = SubResource( 1 )
-material/0 = SubResource( 3 )
+mesh = SubResource("1")
+surface_material_override/0 = SubResource("StandardMaterial3D_cl1sj")
-[node name="StaticBody" parent="." index="2"]
-screen_size = Vector2( 2.8, 1.3 )
-viewport_size = Vector2( 280, 130 )
+[node name="StaticBody3D" parent="." index="2"]
+screen_size = Vector2(2.8, 1.9)
+viewport_size = Vector2(280, 190)
-[node name="CollisionShape" parent="StaticBody" index="0"]
-shape = SubResource( 4 )
+[node name="CollisionShape3D" parent="StaticBody3D" index="0"]
+shape = SubResource("4")
diff --git a/scenes/pointer_demo/objects/keyboard_test_screen.tscn b/scenes/pointer_demo/objects/keyboard_test_screen.tscn
index ec4b1848..b83e3c92 100644
--- a/scenes/pointer_demo/objects/keyboard_test_screen.tscn
+++ b/scenes/pointer_demo/objects/keyboard_test_screen.tscn
@@ -1,92 +1,121 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://cge2ou48mud7b"]
-[ext_resource path="res://scenes/pointer_demo/objects/keyboard_test_screen.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://scenes/pointer_demo/objects/keyboard_test_screen.gd" id="1"]
[node name="KeyboardTestScreen" type="Node2D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
[node name="Container" type="VBoxContainer" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 257.0
-margin_bottom = 50.0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 260.0
+offset_bottom = 157.0
[node name="Header" type="HBoxContainer" parent="Container"]
-margin_right = 250.0
-margin_bottom = 48.0
+layout_mode = 2
+offset_right = 250.0
+offset_bottom = 54.0
[node name="Label" type="Label" parent="Container/Header"]
-margin_right = 250.0
-margin_bottom = 48.0
-rect_min_size = Vector2( 250, 0 )
+layout_mode = 2
+offset_right = 250.0
+offset_bottom = 54.0
+size_flags_horizontal = 3
+size_flags_vertical = 1
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 13
text = "Press trigger on controller to switch active pointer to that controller, or interact with the UI."
-align = 1
-autowrap = true
+horizontal_alignment = 1
+autowrap_mode = 2
[node name="Line1" type="HBoxContainer" parent="Container"]
-margin_top = 52.0
-margin_right = 250.0
-margin_bottom = 73.0
+layout_mode = 2
+offset_top = 58.0
+offset_right = 250.0
+offset_bottom = 83.0
[node name="Label" type="Label" parent="Container/Line1"]
-margin_top = 3.0
-margin_right = 43.0
-margin_bottom = 17.0
+layout_mode = 2
+offset_top = 2.0
+offset_right = 38.0
+offset_bottom = 22.0
+theme_override_font_sizes/font_size = 12
text = "Line 1:"
-align = 2
+vertical_alignment = 1
[node name="TextEdit" type="TextEdit" parent="Container/Line1"]
-margin_left = 47.0
-margin_right = 247.0
-margin_bottom = 21.0
-rect_min_size = Vector2( 200, 21 )
+custom_minimum_size = Vector2i(0, 25)
+layout_mode = 2
+offset_left = 42.0
+offset_right = 250.0
+offset_bottom = 25.0
+size_flags_horizontal = 3
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 12
[node name="Line2" type="HBoxContainer" parent="Container"]
-margin_top = 77.0
-margin_right = 250.0
-margin_bottom = 98.0
+layout_mode = 2
+offset_top = 87.0
+offset_right = 250.0
+offset_bottom = 112.0
[node name="Label" type="Label" parent="Container/Line2"]
-margin_top = 3.0
-margin_right = 43.0
-margin_bottom = 17.0
+layout_mode = 2
+offset_top = 2.0
+offset_right = 38.0
+offset_bottom = 22.0
+theme_override_font_sizes/font_size = 12
text = "Line 2:"
-align = 2
+vertical_alignment = 1
[node name="TextEdit" type="TextEdit" parent="Container/Line2"]
-margin_left = 47.0
-margin_right = 247.0
-margin_bottom = 21.0
-rect_min_size = Vector2( 200, 21 )
+custom_minimum_size = Vector2i(0, 25)
+layout_mode = 2
+offset_left = 42.0
+offset_right = 250.0
+offset_bottom = 25.0
+size_flags_horizontal = 3
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 12
[node name="Line3" type="HBoxContainer" parent="Container"]
-margin_top = 102.0
-margin_right = 250.0
-margin_bottom = 123.0
+layout_mode = 2
+offset_top = 116.0
+offset_right = 250.0
+offset_bottom = 141.0
[node name="Label" type="Label" parent="Container/Line3"]
-margin_top = 3.0
-margin_right = 43.0
-margin_bottom = 17.0
+layout_mode = 2
+offset_top = 2.0
+offset_right = 38.0
+offset_bottom = 22.0
+theme_override_font_sizes/font_size = 12
text = "Line 3:"
-align = 2
+vertical_alignment = 1
[node name="TextEdit" type="TextEdit" parent="Container/Line3"]
-margin_left = 47.0
-margin_right = 247.0
-margin_bottom = 21.0
-rect_min_size = Vector2( 200, 21 )
+custom_minimum_size = Vector2i(0, 25)
+layout_mode = 2
+offset_left = 42.0
+offset_right = 250.0
+offset_bottom = 25.0
+size_flags_horizontal = 3
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 12
[node name="Footer" type="HBoxContainer" parent="Container"]
-margin_top = 127.0
-margin_right = 250.0
-margin_bottom = 147.0
+layout_mode = 2
+offset_top = 145.0
+offset_right = 250.0
+offset_bottom = 170.0
alignment = 2
[node name="ClearButton" type="Button" parent="Container/Footer"]
-margin_left = 206.0
-margin_right = 250.0
-margin_bottom = 20.0
+layout_mode = 2
+offset_left = 211.0
+offset_right = 250.0
+offset_bottom = 25.0
+theme_override_font_sizes/font_size = 12
text = "Clear"
[connection signal="pressed" from="Container/Footer/ClearButton" to="." method="_on_ClearButton_pressed"]
diff --git a/scenes/pointer_demo/pointer_demo.png.import b/scenes/pointer_demo/pointer_demo.png.import
index f23470ee..5a41328e 100644
--- a/scenes/pointer_demo/pointer_demo.png.import
+++ b/scenes/pointer_demo/pointer_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.stex"
-path.etc="res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bh5j2q7vpmr0b"
+path.s3tc="res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.ctex"
+path.etc2="res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/pointer_demo/pointer_demo.png"
-dest_files=[ "res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.stex", "res://.import/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc.stex" ]
+dest_files=["res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.s3tc.ctex", "res://.godot/imported/pointer_demo.png-7c94b1c1841ccccd10b6c24cae4ad418.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/pointer_demo/pointer_demo.tscn b/scenes/pointer_demo/pointer_demo.tscn
index 95d01396..186dfb47 100644
--- a/scenes/pointer_demo/pointer_demo.tscn
+++ b/scenes/pointer_demo/pointer_demo.tscn
@@ -1,70 +1,64 @@
-[gd_scene load_steps=14 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=2]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=3]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pointer.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/objects/virtual_keyboard.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/pointer_demo/objects/display.tscn" type="PackedScene" id=12]
-[ext_resource path="res://scenes/pointer_demo/objects/color_change_cube.tscn" type="PackedScene" id=15]
-
-[node name="PointerDemo" instance=ExtResource( 1 )]
-environment = null
-
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 10 )]
-
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[gd_scene load_steps=14 format=3 uid="uid://deq6satll2p5x"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="3_j5kt2"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="4"]
+[ext_resource type="PackedScene" uid="uid://cqhw276realc" path="res://addons/godot-xr-tools/functions/function_pointer.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="6_rnrhb"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://dgdb1texynduw" path="res://addons/godot-xr-tools/objects/virtual_keyboard.tscn" id="11"]
+[ext_resource type="PackedScene" uid="uid://nnse6wsxsjeo" path="res://scenes/pointer_demo/objects/display.tscn" id="12"]
+[ext_resource type="PackedScene" uid="uid://bk34216s7eynw" path="res://scenes/pointer_demo/objects/color_change_cube.tscn" id="15"]
+
+[node name="PointerDemo" instance=ExtResource("1")]
+
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("3_j5kt2")]
+
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
strafe = true
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 6 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("6_rnrhb")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 7 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("7")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 9 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("9")]
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 8 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("8")]
-[node name="FunctionPointer" parent="ARVROrigin" index="4" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1, -0.5 )
+[node name="FunctionPointer" parent="XROrigin3D" index="4" instance=ExtResource("5")]
laser_length = 1
show_target = true
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 3 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("3")]
-[node name="Teleport" parent="." index="2" instance=ExtResource( 2 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 )
+[node name="Teleport" parent="." index="2" instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
scene_base = NodePath("..")
-title = ExtResource( 4 )
+title = ExtResource("4")
-[node name="Display" parent="." index="3" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.3, -3 )
-screen_size = Vector2( 2.8, 1.65 )
-viewport_size = Vector2( 280, 165 )
+[node name="Display" parent="." index="3" instance=ExtResource("12")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, -3)
-[node name="VirtualKeyboard" parent="." index="4" instance=ExtResource( 11 )]
-transform = Transform( 1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1, -2 )
+[node name="VirtualKeyboard" parent="." index="4" instance=ExtResource("11")]
+transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1, -2)
-[node name="ColorChangeCube1" parent="." index="5" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2.5, -3 )
+[node name="ColorChangeCube1" parent="." index="5" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 2.5, -3)
-[node name="ColorChangeCube2" parent="." index="6" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.7, -3 )
+[node name="ColorChangeCube2" parent="." index="6" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 1.7, -3)
-[node name="ColorChangeCube3" parent="." index="7" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2.5, -3 )
+[node name="ColorChangeCube3" parent="." index="7" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2.5, -3)
-[node name="ColorChangeCube4" parent="." index="8" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.7, -3 )
+[node name="ColorChangeCube4" parent="." index="8" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 1.7, -3)
+
+[connection signal="button_pressed" from="XROrigin3D/LeftHand" to="." method="_on_LeftHand_button_pressed"]
+[connection signal="button_pressed" from="XROrigin3D/RightHand" to="." method="_on_RightHand_button_pressed"]
diff --git a/scenes/poke_demo/objects/canvas.gd b/scenes/poke_demo/objects/canvas.gd
index 3da0dfe3..aa84847b 100644
--- a/scenes/poke_demo/objects/canvas.gd
+++ b/scenes/poke_demo/objects/canvas.gd
@@ -9,8 +9,8 @@ func _clear():
$ViewportContainer/Viewport/Brushes.get_child(i).visible = false
# Make sure our viewport only updates once
- $ViewportContainer/Viewport.render_target_clear_mode = Viewport.CLEAR_MODE_ONLY_NEXT_FRAME
- $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $ViewportContainer/Viewport.render_target_clear_mode = SubViewport.CLEAR_MODE_ONCE
+ $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
# Called when the node enters the scene tree for the first time.
func _ready():
@@ -25,13 +25,13 @@ func _on_ViewportContainer_gui_input(event):
if event.pressed:
_update_active_brush()
$ViewportContainer/Viewport/Brushes.position = event.position
- $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
elif event is InputEventMouseMotion:
# We're currently only getting these from our poke if we're touching,
# but once viewport supports pressure we should implement this...
_update_active_brush()
$ViewportContainer/Viewport/Brushes.position = event.position
- $ViewportContainer/Viewport.render_target_update_mode = Viewport.UPDATE_ONCE
+ $ViewportContainer/Viewport.render_target_update_mode = SubViewport.UPDATE_ONCE
func _set_draw_color(p_color : Color) -> void:
diff --git a/scenes/poke_demo/objects/canvas.tscn b/scenes/poke_demo/objects/canvas.tscn
index fbd3eda9..715b1bc6 100644
--- a/scenes/poke_demo/objects/canvas.tscn
+++ b/scenes/poke_demo/objects/canvas.tscn
@@ -1,67 +1,63 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://bv46odvo22fuv"]
-[ext_resource path="res://scenes/poke_demo/objects/canvas.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://scenes/poke_demo/objects/canvas.gd" id="1"]
-[sub_resource type="StyleBoxFlat" id=1]
-bg_color = Color( 1, 1, 1, 1 )
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_156sa"]
+bg_color = Color(1, 1, 1, 1)
-[sub_resource type="StyleBoxFlat" id=2]
-bg_color = Color( 0, 0, 0, 1 )
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_sk70f"]
+bg_color = Color(0, 0, 0, 1)
[node name="Canvas" type="Node2D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
[node name="Background" type="ColorRect" parent="."]
-margin_right = 1000.0
-margin_bottom = 500.0
-color = Color( 0.203922, 0.337255, 0.137255, 0.686275 )
+offset_right = 1000.0
+offset_bottom = 500.0
+color = Color(0.203922, 0.337255, 0.137255, 0.686275)
-[node name="ViewportContainer" type="ViewportContainer" parent="."]
-margin_right = 40.0
-margin_bottom = 40.0
+[node name="ViewportContainer" type="SubViewportContainer" parent="."]
-[node name="Viewport" type="Viewport" parent="ViewportContainer"]
-size = Vector2( 940, 495 )
+[node name="Viewport" type="SubViewport" parent="ViewportContainer"]
transparent_bg = true
handle_input_locally = false
+size = Vector2i(940, 495)
render_target_clear_mode = 2
-render_target_update_mode = 3
+render_target_update_mode = 4
[node name="Brushes" type="Node2D" parent="ViewportContainer/Viewport"]
-position = Vector2( 50, 50 )
+position = Vector2(50, 50)
[node name="Brush1" type="ColorRect" parent="ViewportContainer/Viewport/Brushes"]
visible = false
-margin_left = -5.0
-margin_top = -5.0
-margin_right = 5.0
-margin_bottom = 5.0
+offset_left = -5.0
+offset_top = -5.0
+offset_right = 5.0
+offset_bottom = 5.0
[node name="Tools" type="VBoxContainer" parent="."]
-margin_left = 950.0
-margin_top = 5.0
-margin_right = 995.0
-margin_bottom = 105.0
-rect_min_size = Vector2( 45, 0 )
-custom_constants/separation = 10
+offset_left = 950.0
+offset_top = 5.0
+offset_right = 999.0
+offset_bottom = 135.0
[node name="WhiteButton" type="Button" parent="Tools"]
-margin_right = 45.0
-margin_bottom = 45.0
-rect_min_size = Vector2( 45, 45 )
-custom_styles/normal = SubResource( 1 )
+custom_minimum_size = Vector2(45, 45)
+offset_right = 49.0
+offset_bottom = 45.0
+theme_override_styles/normal = SubResource("StyleBoxFlat_156sa")
[node name="BlackButton" type="Button" parent="Tools"]
-margin_top = 55.0
-margin_right = 45.0
-margin_bottom = 100.0
-rect_min_size = Vector2( 45, 45 )
-custom_styles/normal = SubResource( 2 )
+custom_minimum_size = Vector2(45, 45)
+offset_top = 49.0
+offset_right = 49.0
+offset_bottom = 94.0
+theme_override_styles/normal = SubResource("StyleBoxFlat_sk70f")
[node name="ClearButton" type="Button" parent="Tools"]
-margin_top = 110.0
-margin_right = 45.0
-margin_bottom = 130.0
+offset_top = 98.0
+offset_right = 49.0
+offset_bottom = 129.0
text = "Clear"
[connection signal="gui_input" from="ViewportContainer" to="." method="_on_ViewportContainer_gui_input"]
diff --git a/scenes/poke_demo/objects/instructions_2d.tscn b/scenes/poke_demo/objects/instructions_2d.tscn
index 4d5337a1..dbcf3112 100644
--- a/scenes/poke_demo/objects/instructions_2d.tscn
+++ b/scenes/poke_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://32dx3mgqbxkj"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Poke Demo
This scene demonstrates poking interactions. Poke nodes are attached to the index fingers of both hands and can be used to control user interfaces and to physically interact with objects.
diff --git a/scenes/poke_demo/poke_demo.png.import b/scenes/poke_demo/poke_demo.png.import
index 35e8bd9b..7cbbee65 100644
--- a/scenes/poke_demo/poke_demo.png.import
+++ b/scenes/poke_demo/poke_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.stex"
-path.etc="res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc.stex"
+type="CompressedTexture2D"
+uid="uid://bbe7o7pdq38m2"
+path.s3tc="res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.ctex"
+path.etc2="res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/poke_demo/poke_demo.png"
-dest_files=[ "res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.stex", "res://.import/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc.stex" ]
+dest_files=["res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.s3tc.ctex", "res://.godot/imported/poke_demo.png-4c24cc2c312bc410943cc9c6d63635e9.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/poke_demo/poke_demo.tscn b/scenes/poke_demo/poke_demo.tscn
index fd7f27cd..3ab44cf1 100644
--- a/scenes/poke_demo/poke_demo.tscn
+++ b/scenes/poke_demo/poke_demo.tscn
@@ -1,170 +1,212 @@
-[gd_scene load_steps=33 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=3]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=5]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=6]
-[ext_resource path="res://addons/godot-xr-tools/player/poke/poke.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" type="PackedScene" id=8]
-[ext_resource path="res://scenes/poke_demo/objects/canvas.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=11]
-[ext_resource path="res://assets/meshes/table/table.tscn" type="PackedScene" id=12]
-[ext_resource path="res://scenes/pickable_demo/objects/grab_cube.tscn" type="PackedScene" id=13]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=14]
-[ext_resource path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" type="PackedScene" id=15]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" type="Resource" id=16]
-[ext_resource path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" type="Resource" id=17]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/poke_demo/objects/instructions.tscn" type="PackedScene" id=19]
-
-[sub_resource type="AnimationNodeAnimation" id=14]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeAnimation" id=15]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeBlend2" id=16]
+[gd_scene load_steps=34 format=3 uid="uid://b4fy6i3e7s08u"]
+
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://xqimcf20s2jp" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_fullglove_low.tscn" id="2"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_sgf8o"]
+[ext_resource type="PackedScene" uid="uid://bq86r4yll8po" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_fullglove_low.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://bft3xyxs31ci3" path="res://addons/godot-xr-tools/functions/function_pose_detector.tscn" id="4_whmmd"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="5"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="6"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/player/poke/poke.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://clujaf3u776a3" path="res://addons/godot-xr-tools/objects/viewport_2d_in_3d.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://bv46odvo22fuv" path="res://scenes/poke_demo/objects/canvas.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="11"]
+[ext_resource type="PackedScene" path="res://scenes/poke_demo/objects/instructions.tscn" id="11_570m5"]
+[ext_resource type="PackedScene" uid="uid://cbcbffvk7xth4" path="res://assets/meshes/table/table.tscn" id="12"]
+[ext_resource type="PackedScene" uid="uid://djkjuy7wct10q" path="res://scenes/pickable_demo/objects/grab_cube.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="14"]
+[ext_resource type="PackedScene" uid="uid://dc5t2qgmhb2nf" path="res://addons/godot-xr-tools/objects/hand_pose_area.tscn" id="14_qyy11"]
+[ext_resource type="Resource" uid="uid://ciw0f7mg4ai0k" path="res://addons/godot-xr-tools/hands/poses/pose_point_left.tres" id="15_08yhv"]
+[ext_resource type="Resource" uid="uid://bhvrpfo4ecbub" path="res://addons/godot-xr-tools/hands/poses/pose_point_right.tres" id="16_n1x7k"]
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_e1c5o"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_a7i6i"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_4s658"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L", "Armature_Left/Skeleton:Middle.Distal", "Armature_Left/Skeleton:Middle.Middle", "Armature_Left/Skeleton:Middle.Proximal", "Armature_Left/Skeleton:Pinky.Distal", "Armature_Left/Skeleton:Pinky.Middle", "Armature_Left/Skeleton:Pinky.Proximal", "Armature_Left/Skeleton:Ring.Distal", "Armature_Left/Skeleton:Ring.Middle", "Armature_Left/Skeleton:Ring.Proximal", "Armature_Left/Skeleton:Thumb.Distal", "Armature_Left/Skeleton:Thumb.Proximal" ]
+filters = ["Armature/Skeleton3D:Little_Distal_L", "Armature/Skeleton3D:Little_Intermediate_L", "Armature/Skeleton3D:Little_Metacarpal_L", "Armature/Skeleton3D:Little_Proximal_L", "Armature/Skeleton3D:Middle_Distal_L", "Armature/Skeleton3D:Middle_Intermediate_L", "Armature/Skeleton3D:Middle_Metacarpal_L", "Armature/Skeleton3D:Middle_Proximal_L", "Armature/Skeleton3D:Ring_Distal_L", "Armature/Skeleton3D:Ring_Intermediate_L", "Armature/Skeleton3D:Ring_Metacarpal_L", "Armature/Skeleton3D:Ring_Proximal_L", "Armature/Skeleton3D:Thumb_Distal_L", "Armature/Skeleton3D:Thumb_Metacarpal_L", "Armature/Skeleton3D:Thumb_Proximal_L", "Armature/Skeleton:Little_Distal_L", "Armature/Skeleton:Little_Intermediate_L", "Armature/Skeleton:Little_Proximal_L", "Armature/Skeleton:Middle_Distal_L", "Armature/Skeleton:Middle_Intermediate_L", "Armature/Skeleton:Middle_Proximal_L", "Armature/Skeleton:Ring_Distal_L", "Armature/Skeleton:Ring_Intermediate_L", "Armature/Skeleton:Ring_Proximal_L", "Armature/Skeleton:Thumb_Distal_L", "Armature/Skeleton:Thumb_Proximal_L"]
-[sub_resource type="AnimationNodeAnimation" id=17]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_771er"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=18]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_mw2sj"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L", "Armature_Left/Skeleton:Index.Distal", "Armature_Left/Skeleton:Index.Middle", "Armature_Left/Skeleton:Index.Proximal" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=19]
-graph_offset = Vector2( -242.851, 19.7107 )
-nodes/ClosedHand1/node = SubResource( 14 )
-nodes/ClosedHand1/position = Vector2( -400, 200 )
-nodes/ClosedHand2/node = SubResource( 15 )
-nodes/ClosedHand2/position = Vector2( -200, 300 )
-nodes/Grip/node = SubResource( 16 )
-nodes/Grip/position = Vector2( 200, 0 )
-nodes/OpenHand/node = SubResource( 17 )
-nodes/OpenHand/position = Vector2( -400, 0 )
-nodes/Trigger/node = SubResource( 18 )
-nodes/Trigger/position = Vector2( -160, 0 )
-nodes/output/position = Vector2( 400, 0 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[sub_resource type="AnimationNodeAnimation" id=20]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeAnimation" id=21]
-animation = "Grip"
-
-[sub_resource type="AnimationNodeBlend2" id=22]
+filters = ["Armature/Skeleton3D:Index_Distal_L", "Armature/Skeleton3D:Index_Intermediate_L", "Armature/Skeleton3D:Index_Metacarpal_L", "Armature/Skeleton3D:Index_Proximal_L", "Armature/Skeleton:Index_Distal_L", "Armature/Skeleton:Index_Intermediate_L", "Armature/Skeleton:Index_Proximal_L"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_1niag"]
+graph_offset = Vector2(-536, 11)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_e1c5o")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_a7i6i")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_4s658")
+nodes/Grip/position = Vector2(0, 20)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_771er")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_mw2sj")
+nodes/Trigger/position = Vector2(-360, 20)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vq8jm"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hmmlh"]
+animation = &"Grip"
+
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_ob3nl"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R", "Armature_Left/Skeleton:Middle.Distal", "Armature_Left/Skeleton:Middle.Middle", "Armature_Left/Skeleton:Middle.Proximal", "Armature_Left/Skeleton:Pinky.Distal", "Armature_Left/Skeleton:Pinky.Middle", "Armature_Left/Skeleton:Pinky.Proximal", "Armature_Left/Skeleton:Ring.Distal", "Armature_Left/Skeleton:Ring.Middle", "Armature_Left/Skeleton:Ring.Proximal", "Armature_Left/Skeleton:Thumb.Distal", "Armature_Left/Skeleton:Thumb.Proximal" ]
+filters = ["Armature/Skeleton3D:Little_Distal_R", "Armature/Skeleton3D:Little_Intermediate_R", "Armature/Skeleton3D:Little_Metacarpal_R", "Armature/Skeleton3D:Little_Proximal_R", "Armature/Skeleton3D:Middle_Distal_R", "Armature/Skeleton3D:Middle_Intermediate_R", "Armature/Skeleton3D:Middle_Metacarpal_R", "Armature/Skeleton3D:Middle_Proximal_R", "Armature/Skeleton3D:Ring_Distal_R", "Armature/Skeleton3D:Ring_Intermediate_R", "Armature/Skeleton3D:Ring_Metacarpal_R", "Armature/Skeleton3D:Ring_Proximal_R", "Armature/Skeleton3D:Thumb_Distal_R", "Armature/Skeleton3D:Thumb_Metacarpal_R", "Armature/Skeleton3D:Thumb_Proximal_R", "Armature/Skeleton:Little_Distal_R", "Armature/Skeleton:Little_Intermediate_R", "Armature/Skeleton:Little_Proximal_R", "Armature/Skeleton:Middle_Distal_R", "Armature/Skeleton:Middle_Intermediate_R", "Armature/Skeleton:Middle_Proximal_R", "Armature/Skeleton:Ring_Distal_R", "Armature/Skeleton:Ring_Intermediate_R", "Armature/Skeleton:Ring_Proximal_R", "Armature/Skeleton:Thumb_Distal_R", "Armature/Skeleton:Thumb_Proximal_R"]
-[sub_resource type="AnimationNodeAnimation" id=23]
-animation = "Grip 5"
+[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c6dak"]
+animation = &"Grip 5"
-[sub_resource type="AnimationNodeBlend2" id=24]
+[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_mplw3"]
filter_enabled = true
-filters = [ "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R", "Armature_Left/Skeleton:Index.Distal", "Armature_Left/Skeleton:Index.Middle", "Armature_Left/Skeleton:Index.Proximal" ]
-
-[sub_resource type="AnimationNodeBlendTree" id=25]
-graph_offset = Vector2( -239.618, 12.3058 )
-nodes/ClosedHand1/node = SubResource( 20 )
-nodes/ClosedHand1/position = Vector2( -400, 200 )
-nodes/ClosedHand2/node = SubResource( 21 )
-nodes/ClosedHand2/position = Vector2( -200, 300 )
-nodes/Grip/node = SubResource( 22 )
-nodes/Grip/position = Vector2( 200, 0 )
-nodes/OpenHand/node = SubResource( 23 )
-nodes/OpenHand/position = Vector2( -400, 0 )
-nodes/Trigger/node = SubResource( 24 )
-nodes/Trigger/position = Vector2( -160, 0 )
-nodes/output/position = Vector2( 400, 0 )
-node_connections = [ "output", 0, "Grip", "Grip", 0, "Trigger", "Grip", 1, "ClosedHand2", "Trigger", 0, "OpenHand", "Trigger", 1, "ClosedHand1" ]
-
-[sub_resource type="BoxShape" id=13]
-extents = Vector3( 0.5, 0.25, 0.05 )
-
-[node name="PokeDemo" instance=ExtResource( 1 )]
-
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 2 )]
-
-[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton" index="1"]
-transform = Transform( 0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.0399019, 0.0402828, -0.150096 )
+filters = ["Armature/Skeleton3D:Index_Distal_R", "Armature/Skeleton3D:Index_Intermediate_R", "Armature/Skeleton3D:Index_Metacarpal_R", "Armature/Skeleton3D:Index_Proximal_R", "Armature/Skeleton:Index_Distal_R", "Armature/Skeleton:Index_Intermediate_R", "Armature/Skeleton:Index_Proximal_R"]
+
+[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_4py0i"]
+graph_offset = Vector2(-552.664, 107.301)
+nodes/ClosedHand1/node = SubResource("AnimationNodeAnimation_vq8jm")
+nodes/ClosedHand1/position = Vector2(-600, 300)
+nodes/ClosedHand2/node = SubResource("AnimationNodeAnimation_hmmlh")
+nodes/ClosedHand2/position = Vector2(-360, 300)
+nodes/Grip/node = SubResource("AnimationNodeBlend2_ob3nl")
+nodes/Grip/position = Vector2(0, 40)
+nodes/OpenHand/node = SubResource("AnimationNodeAnimation_c6dak")
+nodes/OpenHand/position = Vector2(-600, 100)
+nodes/Trigger/node = SubResource("AnimationNodeBlend2_mplw3")
+nodes/Trigger/position = Vector2(-360, 40)
+node_connections = [&"output", 0, &"Grip", &"Grip", 0, &"Trigger", &"Grip", 1, &"ClosedHand2", &"Trigger", 0, &"OpenHand", &"Trigger", 1, &"ClosedHand1"]
+
+[sub_resource type="BoxShape3D" id="BoxShape3D_s7l3t"]
+size = Vector3(1, 0.5, 0.01)
+
+[node name="PokeDemo" instance=ExtResource("1")]
+script = ExtResource("2_sgf8o")
+
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("3")]
+
+[node name="Skeleton3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, -2.56577e-05, -0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, -0.0415175, -0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, 0.020971, 0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, -0.0116081, -0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, -0.00993208, -0.00794417, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, -0.0236108, -0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, -0.00929194, -0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, -0.000400032, 0.00636764, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, -0.00114471, -0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, 0.00193393, -0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, -0.00881294, -0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, 0.0101908, -0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, -0.00223624, -0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, 0.00812462, -0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252232, 0.00788073, -0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, 0.0203027, -0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, -0.00022572, -0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, 0.0216483, -0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, -0.00357275, -0.211953, 0.977249)
+
+[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D" index="1"]
+transform = Transform3D(0.54083, 0.840813, -0.0231736, -0.0826267, 0.0805243, 0.993322, 0.837064, -0.535303, 0.113023, 0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_L"
-
-[node name="Poke" parent="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 7 )]
-transform = Transform( 1, -1.49012e-07, 9.31323e-09, 1.49012e-07, 1, -7.45058e-09, 5.58794e-09, 1.86265e-08, 1, 0, 0, 0 )
-
-[node name="AnimationTree" parent="ARVROrigin/LeftHand/LeftHand" index="1"]
-tree_root = SubResource( 19 )
-
-[node name="FunctionPoseDetector" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 18 )]
-
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 3 )]
-
-[node name="BoneAttachment" type="BoneAttachment" parent="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton" index="1"]
-transform = Transform( 0.540829, -0.840813, 0.0231736, 0.0826267, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113023, -0.0399019, 0.0402828, -0.150096 )
+bone_idx = 9
+
+[node name="Poke" parent="XROrigin3D/LeftHand/LeftHand/Hand_low_L/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")]
+transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
+
+[node name="AnimationTree" parent="XROrigin3D/LeftHand/LeftHand" index="1"]
+tree_root = SubResource("AnimationNodeBlendTree_1niag")
+
+[node name="FunctionPoseDetector" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("4_whmmd")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, -1, 0.5)
+
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("2")]
+
+[node name="Skeleton3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature" index="0"]
+bones/1/rotation = Quaternion(0.323537, 2.56577e-05, 0.0272204, 0.945824)
+bones/2/rotation = Quaternion(-0.0904441, 0.0415175, 0.166293, 0.981042)
+bones/3/rotation = Quaternion(-0.0466199, -0.020971, -0.0103276, 0.998639)
+bones/5/rotation = Quaternion(-0.00128455, 0.0116081, 0.0168259, 0.99979)
+bones/6/rotation = Quaternion(0.102925, 0.00993208, 0.00794419, 0.994608)
+bones/7/rotation = Quaternion(-0.012859, 0.0236108, 0.323258, 0.945929)
+bones/8/rotation = Quaternion(0.0120575, 0.00929193, 0.247472, 0.968775)
+bones/10/rotation = Quaternion(-0.0357539, 0.000400032, -0.00636763, 0.99934)
+bones/11/rotation = Quaternion(-0.00264964, 0.00114471, 0.125992, 0.992027)
+bones/12/rotation = Quaternion(0.0394225, -0.00193393, 0.228074, 0.972843)
+bones/13/rotation = Quaternion(-0.0123395, 0.00881294, 0.280669, 0.959685)
+bones/15/rotation = Quaternion(-0.0702656, -0.0101908, 0.0243307, 0.99718)
+bones/16/rotation = Quaternion(-0.0320634, 0.00223624, 0.0686366, 0.997124)
+bones/17/rotation = Quaternion(0.0253452, -0.00812462, 0.249005, 0.968136)
+bones/18/rotation = Quaternion(0.00252233, -0.00788073, 0.243204, 0.96994)
+bones/20/rotation = Quaternion(-0.0917369, -0.0203027, 0.010183, 0.995524)
+bones/21/rotation = Quaternion(-0.0625182, 0.000225721, 0.115393, 0.991351)
+bones/22/rotation = Quaternion(0.0585786, -0.0216483, 0.269905, 0.96086)
+bones/23/rotation = Quaternion(0.00687177, 0.00357275, 0.211953, 0.977249)
+
+[node name="BoneAttachment3D" type="BoneAttachment3D" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D" index="1"]
+transform = Transform3D(0.540829, -0.840813, 0.0231736, 0.0826268, 0.0805242, 0.993322, -0.837064, -0.535303, 0.113024, -0.039902, 0.0402828, -0.150096)
bone_name = "Index_Tip_R"
+bone_idx = 9
-[node name="Poke" parent="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R/Armature/Skeleton/BoneAttachment" index="0" instance=ExtResource( 7 )]
-transform = Transform( 1, -1.63913e-07, 2.98023e-08, 8.9407e-08, 1, 0, -2.98023e-08, -2.98023e-08, 1, 0, 0, 0 )
+[node name="Poke" parent="XROrigin3D/RightHand/RightHand/Hand_low_R/Armature/Skeleton3D/BoneAttachment3D" index="0" instance=ExtResource("7")]
+transform = Transform3D(0.999999, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
-[node name="AnimationTree" parent="ARVROrigin/RightHand/RightHand" index="1"]
-tree_root = SubResource( 25 )
+[node name="AnimationTree" parent="XROrigin3D/RightHand/RightHand" index="1"]
+tree_root = SubResource("AnimationNodeBlendTree_4py0i")
-[node name="FunctionPoseDetector" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 18 )]
+[node name="FunctionPoseDetector" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("4_whmmd")]
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 11 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("11")]
max_speed = 5.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 14 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("14")]
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 10 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("10")]
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("4")]
-[node name="Teleport" parent="." index="2" instance=ExtResource( 5 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4 )
+[node name="Teleport" parent="." index="2" instance=ExtResource("5")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 4)
scene_base = NodePath("..")
-title = ExtResource( 6 )
+title = ExtResource("6")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("11_570m5")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4)
-[node name="PokeCanvas" type="Spatial" parent="." index="4"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -1.581 )
+[node name="PokeCanvas" type="Node3D" parent="." index="4"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -1.581)
-[node name="Viewport2Din3D" parent="PokeCanvas" index="0" instance=ExtResource( 8 )]
-screen_size = Vector2( 1, 0.5 )
-viewport_size = Vector2( 1000, 500 )
-scene = ExtResource( 9 )
+[node name="Viewport2Din3D" parent="PokeCanvas" index="0" instance=ExtResource("8")]
+screen_size = Vector2(1, 0.5)
+viewport_size = Vector2(1000, 500)
+scene = ExtResource("9")
-[node name="HandPoseArea" parent="PokeCanvas" index="1" instance=ExtResource( 15 )]
-left_pose = ExtResource( 16 )
-right_pose = ExtResource( 17 )
+[node name="HandPoseArea" parent="PokeCanvas" index="1" instance=ExtResource("14_qyy11")]
+left_pose = ExtResource("15_08yhv")
+right_pose = ExtResource("16_n1x7k")
-[node name="CollisionShape" type="CollisionShape" parent="PokeCanvas/HandPoseArea" index="0"]
-shape = SubResource( 13 )
+[node name="CollisionShape3D" type="CollisionShape3D" parent="PokeCanvas/HandPoseArea" index="0"]
+shape = SubResource("BoxShape3D_s7l3t")
-[node name="Table" parent="." index="5" instance=ExtResource( 12 )]
-transform = Transform( 0.515726, 0, -0.856754, 0, 1, 0, 0.856754, 0, 0.515726, 2.37791, 0, -0.681984 )
+[node name="Table" parent="." index="5" instance=ExtResource("12")]
+transform = Transform3D(0.515726, 0, -0.856754, 0, 1, 0, 0.856754, 0, 0.515726, 2.37791, 0, -0.681984)
-[node name="GrabCube01" parent="Table" index="10" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.890771, 0 )
+[node name="GrabCube01" parent="Table" index="10" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.890771, 0)
-[node name="GrabCube02" parent="Table" index="11" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.149316, 0.890771, 0.0898814 )
+[node name="GrabCube02" parent="Table" index="11" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.149316, 0.890771, 0.0898814)
-[node name="GrabCube03" parent="Table" index="12" instance=ExtResource( 13 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.138419, 0.890771, 0.13692 )
+[node name="GrabCube03" parent="Table" index="12" instance=ExtResource("13")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.138419, 0.890771, 0.13692)
-[editable path="ARVROrigin/LeftHand/LeftHand"]
-[editable path="ARVROrigin/LeftHand/LeftHand/Hand_Nails_low_L"]
-[editable path="ARVROrigin/RightHand/RightHand"]
-[editable path="ARVROrigin/RightHand/RightHand/Hand_Nails_low_R"]
+[editable path="XROrigin3D/LeftHand/LeftHand"]
+[editable path="XROrigin3D/LeftHand/LeftHand/Hand_low_L"]
+[editable path="XROrigin3D/RightHand/RightHand"]
+[editable path="XROrigin3D/RightHand/RightHand/Hand_low_R"]
diff --git a/scenes/sphere_world_demo/environments/constellations.tres b/scenes/sphere_world_demo/environments/constellations.tres
index 5daf332f..aefdeafe 100644
--- a/scenes/sphere_world_demo/environments/constellations.tres
+++ b/scenes/sphere_world_demo/environments/constellations.tres
@@ -1,12 +1,15 @@
-[gd_resource type="Environment" load_steps=3 format=2]
+[gd_resource type="Environment" load_steps=4 format=3 uid="uid://dd1kfsedti62a"]
-[ext_resource path="res://assets/nasa/starmap_and_constellation_figures_4k.jpg" type="Texture" id=1]
+[ext_resource type="Texture2D" uid="uid://2tmlveuwlpbw" path="res://assets/nasa/starmap_and_constellation_figures_4k.jpg" id="1"]
-[sub_resource type="PanoramaSky" id=1]
-panorama = ExtResource( 1 )
+[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_f3n3e"]
+panorama = ExtResource("1")
+
+[sub_resource type="Sky" id="Sky_ef5og"]
+sky_material = SubResource("PanoramaSkyMaterial_f3n3e")
[resource]
background_mode = 2
-background_sky = SubResource( 1 )
-ambient_light_color = Color( 1, 1, 1, 1 )
+sky = SubResource("Sky_ef5og")
+ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 0.7
diff --git a/scenes/sphere_world_demo/objects/donut.tscn b/scenes/sphere_world_demo/objects/donut.tscn
index bdde1a9b..0fa29ca2 100644
--- a/scenes/sphere_world_demo/objects/donut.tscn
+++ b/scenes/sphere_world_demo/objects/donut.tscn
@@ -1,11 +1,11 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bu7s5v5ygr0aa"]
-[ext_resource path="res://assets/wahooney.itch.io/blue_grid.tres" type="Material" id=1]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/blue_grid.tres" id="1"]
-[node name="Donut" type="Spatial"]
+[node name="Donut" type="Node3D"]
-[node name="CSGTorus" type="CSGTorus" parent="."]
-transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 6, 0 )
+[node name="CSGTorus" type="CSGTorus3D" parent="."]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 6, 0)
use_collision = true
collision_layer = 8
collision_mask = 0
@@ -13,4 +13,4 @@ inner_radius = 6.0
outer_radius = 8.0
sides = 30
ring_sides = 12
-material = ExtResource( 1 )
+material = ExtResource("1")
diff --git a/scenes/sphere_world_demo/objects/tower.tscn b/scenes/sphere_world_demo/objects/tower.tscn
index 7efcbd29..b12f8ea1 100644
--- a/scenes/sphere_world_demo/objects/tower.tscn
+++ b/scenes/sphere_world_demo/objects/tower.tscn
@@ -1,23 +1,23 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://cutuj4o2r75tg"]
-[ext_resource path="res://addons/godot-xr-tools/objects/climbable.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=2]
+[ext_resource type="PackedScene" uid="uid://cjyilbm4ucc7s" path="res://addons/godot-xr-tools/objects/climbable.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="2"]
-[sub_resource type="BoxShape" id=1]
-extents = Vector3( 1.5, 4, 1.5 )
+[sub_resource type="BoxShape3D" id="BoxShape3D_2a2jy"]
+size = Vector3(3, 8, 3)
-[sub_resource type="CubeMesh" id=2]
-size = Vector3( 3, 8, 3 )
+[sub_resource type="BoxMesh" id="2"]
+material = ExtResource("2")
+size = Vector3(3, 8, 3)
-[node name="Tower" instance=ExtResource( 1 )]
+[node name="Tower" instance=ExtResource("1")]
collision_layer = 2
collision_mask = 0
-[node name="CollisionShape" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
-shape = SubResource( 1 )
+[node name="CollisionShape3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0)
+shape = SubResource("BoxShape3D_2a2jy")
-[node name="MeshInstance" type="MeshInstance" parent="." index="1"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0 )
-mesh = SubResource( 2 )
-material/0 = ExtResource( 2 )
+[node name="MeshInstance" type="MeshInstance3D" parent="." index="1"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0)
+mesh = SubResource("2")
diff --git a/scenes/sphere_world_demo/sphere_world_demo.png.import b/scenes/sphere_world_demo/sphere_world_demo.png.import
index 6e218154..49f229fc 100644
--- a/scenes/sphere_world_demo/sphere_world_demo.png.import
+++ b/scenes/sphere_world_demo/sphere_world_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.stex"
-path.etc="res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc.stex"
+type="CompressedTexture2D"
+uid="uid://dhd30j0xpcxoi"
+path.s3tc="res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.ctex"
+path.etc2="res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/sphere_world_demo/sphere_world_demo.png"
-dest_files=[ "res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.stex", "res://.import/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc.stex" ]
+dest_files=["res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.s3tc.ctex", "res://.godot/imported/sphere_world_demo.png-dea9370d686dcfe7b9838df58c9a3444.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/sphere_world_demo/sphere_world_demo.tscn b/scenes/sphere_world_demo/sphere_world_demo.tscn
index 1b31da61..c0731ecb 100644
--- a/scenes/sphere_world_demo/sphere_world_demo.tscn
+++ b/scenes/sphere_world_demo/sphere_world_demo.tscn
@@ -1,167 +1,164 @@
-[gd_scene load_steps=27 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" type="Material" id=2]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" type="PackedScene" id=11]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" type="PackedScene" id=12]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_wind.tscn" type="PackedScene" id=13]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=16]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_glide.tscn" type="PackedScene" id=17]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/sphere_world_demo/environments/constellations.tres" type="Environment" id=19]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=20]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=21]
-[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=22]
-[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=23]
-[ext_resource path="res://scenes/sphere_world_demo/objects/tower.tscn" type="PackedScene" id=24]
-[ext_resource path="res://scenes/sphere_world_demo/objects/donut.tscn" type="PackedScene" id=25]
-
-[sub_resource type="SphereMesh" id=1]
-material = ExtResource( 2 )
+[gd_scene load_steps=27 format=3 uid="uid://b5o25nkvyv8ho"]
+
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/green_grid_triplanar.tres" id="2"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://bx1xdisoqo1f6" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://clt88d5d1dje4" path="res://addons/godot-xr-tools/functions/movement_crouch.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://chumpejwiub7f" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://c78tjrtiyqna8" path="res://addons/godot-xr-tools/functions/movement_grapple.tscn" id="11"]
+[ext_resource type="PackedScene" path="res://addons/godot-xr-tools/functions/movement_wall_walk.tscn" id="12"]
+[ext_resource type="PackedScene" uid="uid://bgts3vpmjn6bb" path="res://addons/godot-xr-tools/functions/movement_wind.tscn" id="13"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="16"]
+[ext_resource type="PackedScene" uid="uid://cvokcudrffkgc" path="res://addons/godot-xr-tools/functions/movement_glide.tscn" id="17"]
+[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="18"]
+[ext_resource type="Environment" uid="uid://dd1kfsedti62a" path="res://scenes/sphere_world_demo/environments/constellations.tres" id="19"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="20"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="21"]
+[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="22"]
+[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="23"]
+[ext_resource type="PackedScene" uid="uid://bu7s5v5ygr0aa" path="res://scenes/sphere_world_demo/objects/donut.tscn" id="23_nox6a"]
+[ext_resource type="PackedScene" uid="uid://cutuj4o2r75tg" path="res://scenes/sphere_world_demo/objects/tower.tscn" id="24"]
+
+[sub_resource type="SphereMesh" id="1"]
+material = ExtResource("2")
radius = 50.0
height = 100.0
-[sub_resource type="SphereShape" id=2]
+[sub_resource type="SphereShape3D" id="2"]
radius = 50.0
-[sub_resource type="SphereShape" id=3]
+[sub_resource type="SphereShape3D" id="3"]
radius = 80.0
-[node name="SphereWorldDemo" instance=ExtResource( 1 )]
-environment = ExtResource( 19 )
+[node name="SphereWorldDemo" instance=ExtResource("1")]
+environment = ExtResource("19")
-[node name="ARVROrigin" parent="." index="0"]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0 )
+[node name="XROrigin3D" parent="." index="0"]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0)
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 4 )]
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("4")]
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("8")]
grab_collision_mask = 6
ranged_enable = false
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("5")]
max_speed = 3.0
strafe = true
-[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 6 )]
+[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("6")]
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 7 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("7")]
+jump_button_action = "ax_button"
-[node name="MovementCrouch" parent="ARVROrigin/LeftHand" index="5" instance=ExtResource( 9 )]
-crouch_button = 1
+[node name="MovementCrouch" parent="XROrigin3D/LeftHand" index="5" instance=ExtResource("9")]
+crouch_button_action = "by_button"
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )]
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("10")]
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 8 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("8")]
grab_collision_mask = 6
ranged_enable = false
-ranged_collision_mask = 0
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 5 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("5")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 16 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("16")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 7 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("7")]
+jump_button_action = "ax_button"
-[node name="MovementGrapple" parent="ARVROrigin/RightHand" index="5" instance=ExtResource( 11 )]
+[node name="MovementGrapple" parent="XROrigin3D/RightHand" index="5" instance=ExtResource("11")]
grapple_collision_mask = 3
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 3 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("3")]
-[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 18 )]
+[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("18")]
-[node name="MovementWind" parent="ARVROrigin" index="5" instance=ExtResource( 13 )]
+[node name="MovementWind" parent="XROrigin3D" index="5" instance=ExtResource("13")]
-[node name="MovementGlide" parent="ARVROrigin" index="6" instance=ExtResource( 17 )]
+[node name="MovementGlide" parent="XROrigin3D" index="6" instance=ExtResource("17")]
-[node name="MovementWallWalk" parent="ARVROrigin" index="7" instance=ExtResource( 12 )]
+[node name="MovementWallWalk" parent="XROrigin3D" index="7" instance=ExtResource("12")]
-[node name="Teleport1" parent="." index="1" instance=ExtResource( 20 )]
-transform = Transform( -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 49.9, 0, 0 )
+[node name="Teleport1" parent="." index="1" instance=ExtResource("20")]
+transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 49.9, 0, 0)
scene_base = NodePath("..")
-title = ExtResource( 21 )
+title = ExtResource("21")
-[node name="Teleport2" parent="." index="2" instance=ExtResource( 20 )]
-transform = Transform( 1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, -49.9 )
+[node name="Teleport2" parent="." index="2" instance=ExtResource("20")]
+transform = Transform3D(1.91069e-15, -4.37114e-08, 1, -1, -4.37114e-08, 0, 4.37114e-08, -1, -4.37114e-08, 0, 0, -49.9)
scene_base = NodePath("..")
-title = ExtResource( 21 )
+title = ExtResource("21")
-[node name="Teleport3" parent="." index="3" instance=ExtResource( 20 )]
-transform = Transform( 4.37114e-08, -1, -8.74228e-08, -1, -4.37114e-08, 0, -3.82137e-15, 8.74228e-08, -1, -49.9, 0, 0 )
+[node name="Teleport3" parent="." index="3" instance=ExtResource("20")]
+transform = Transform3D(4.37114e-08, -1, -8.74228e-08, -1, -4.37114e-08, 0, -3.82137e-15, 8.74228e-08, -1, -49.9, 0, 0)
scene_base = NodePath("..")
-title = ExtResource( 21 )
+title = ExtResource("21")
-[node name="Teleport4" parent="." index="4" instance=ExtResource( 20 )]
-transform = Transform( -5.73206e-15, 1.31134e-07, -1, -1, -4.37114e-08, 0, -4.37114e-08, 1, 1.31134e-07, 0, 0, 49.9 )
+[node name="Teleport4" parent="." index="4" instance=ExtResource("20")]
+transform = Transform3D(-5.73206e-15, 1.31134e-07, -1, -1, -4.37114e-08, 0, -4.37114e-08, 1, 1.31134e-07, 0, 0, 49.9)
scene_base = NodePath("..")
-title = ExtResource( 21 )
+title = ExtResource("21")
-[node name="World" type="Spatial" parent="." index="5"]
+[node name="World" type="Node3D" parent="." index="5"]
-[node name="Body" type="StaticBody" parent="World" index="0"]
+[node name="Body" type="StaticBody3D" parent="World" index="0"]
collision_layer = 8
collision_mask = 0
-[node name="MeshInstance" type="MeshInstance" parent="World/Body" index="0"]
-mesh = SubResource( 1 )
+[node name="MeshInstance" type="MeshInstance3D" parent="World/Body" index="0"]
+mesh = SubResource("1")
-[node name="CollisionShape" type="CollisionShape" parent="World/Body" index="1"]
-shape = SubResource( 2 )
+[node name="CollisionShape" type="CollisionShape3D" parent="World/Body" index="1"]
+shape = SubResource("2")
-[node name="Gravity" type="Area" parent="World" index="1"]
-space_override = 3
+[node name="Gravity" type="Area3D" parent="World" index="1"]
+collision_layer = 0
+collision_mask = 524292
+gravity_space_override = 3
gravity_point = true
-gravity_vec = Vector3( 0, 0, 0 )
+gravity_point_center = Vector3(0, 0, 0)
+gravity_direction = Vector3(0, 0, 0)
-[node name="CollisionShape" type="CollisionShape" parent="World/Gravity" index="0"]
-shape = SubResource( 3 )
+[node name="CollisionShape" type="CollisionShape3D" parent="World/Gravity" index="0"]
+shape = SubResource("3")
-[node name="Mound1" parent="World" index="2" instance=ExtResource( 22 )]
-transform = Transform( 1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 47, 14 )
+[node name="Mound1" parent="World" index="2" instance=ExtResource("22")]
+transform = Transform3D(1, 0, 0, 0, 0.965926, -0.258819, 0, 0.258819, 0.965926, 0, 47, 14)
-[node name="Mound2" parent="World" index="3" instance=ExtResource( 22 )]
-transform = Transform( 1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 47, -14 )
+[node name="Mound2" parent="World" index="3" instance=ExtResource("22")]
+transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 47, -14)
-[node name="Ramps1" parent="World" index="4" instance=ExtResource( 23 )]
-transform = Transform( -4.2222e-08, -0.258819, 0.965926, -1.13133e-08, 0.965926, 0.258819, -1, 0, -4.37114e-08, -12, 48, 0 )
+[node name="Ramps1" parent="World" index="4" instance=ExtResource("23")]
+transform = Transform3D(-4.2222e-08, -0.258819, 0.965926, -1.13133e-08, 0.965926, 0.258819, -1, 0, -4.37114e-08, -12, 48, 0)
-[node name="Ramps2" parent="World" index="5" instance=ExtResource( 23 )]
-transform = Transform( -4.2222e-08, 0.258819, 0.965926, 1.13133e-08, 0.965926, -0.258819, -1, 0, -4.37114e-08, 12, 48, 0 )
+[node name="Ramps2" parent="World" index="5" instance=ExtResource("23")]
+transform = Transform3D(-4.2222e-08, 0.258819, 0.965926, 1.13133e-08, 0.965926, -0.258819, -1, 0, -4.37114e-08, 12, 48, 0)
-[node name="Tower1" parent="World" index="6" instance=ExtResource( 24 )]
-transform = Transform( 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -35, 35, 0 )
+[node name="Tower1" parent="World" index="6" instance=ExtResource("24")]
+transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -35, 35, 0)
-[node name="Tower2" parent="World" index="7" instance=ExtResource( 24 )]
-transform = Transform( 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 35, 35, 0 )
+[node name="Tower2" parent="World" index="7" instance=ExtResource("24")]
+transform = Transform3D(0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0, 1, 35, 35, 0)
-[node name="Tower3" parent="World" index="8" instance=ExtResource( 24 )]
-transform = Transform( 1, 5.96046e-08, 0, -4.21468e-08, 0.707107, -0.707107, -4.21468e-08, 0.707107, 0.707107, 0, 35, 35 )
+[node name="Tower3" parent="World" index="8" instance=ExtResource("24")]
+transform = Transform3D(1, 5.96046e-08, 0, -4.21468e-08, 0.707107, -0.707107, -4.21468e-08, 0.707107, 0.707107, 0, 35, 35)
-[node name="Tower4" parent="World" index="9" instance=ExtResource( 24 )]
-transform = Transform( 1, 5.96046e-08, 0, -4.21468e-08, 0.707107, 0.707107, 4.21469e-08, -0.707107, 0.707107, 0, 35, -35 )
+[node name="Tower4" parent="World" index="9" instance=ExtResource("24")]
+transform = Transform3D(1, 5.96046e-08, 0, -4.21468e-08, 0.707107, 0.707107, 4.21469e-08, -0.707107, 0.707107, 0, 35, -35)
-[node name="Donut1" parent="World" index="10" instance=ExtResource( 25 )]
-transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 49.5, 0 )
+[node name="Donut1" parent="World" index="10" instance=ExtResource("23_nox6a")]
+transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 49.5, 0)
-[node name="Donut2" parent="World" index="11" instance=ExtResource( 25 )]
-transform = Transform( 0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 0, 49.5, 0 )
+[node name="Donut2" parent="World" index="11" instance=ExtResource("23_nox6a")]
+transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, 0, 49.5, 0)
-[node name="DirectionalLight" type="DirectionalLight" parent="." index="6"]
-transform = Transform( 1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 60, 0 )
+[node name="DirectionalLight" type="DirectionalLight3D" parent="." index="6"]
+transform = Transform3D(1, 0, 0, 0, 0.258819, 0.965926, 0, -0.965926, 0.258819, 0, 60, 0)
light_energy = 0.8
diff --git a/scenes/sprinting_demo/objects/instructions_2d.tscn b/scenes/sprinting_demo/objects/instructions_2d.tscn
index 44601717..d3720d44 100644
--- a/scenes/sprinting_demo/objects/instructions_2d.tscn
+++ b/scenes/sprinting_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://culguvmnpqpy5"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Sprinting Demo
This scene sprinting movement using the following controls:
diff --git a/scenes/sprinting_demo/sprinting_demo.png.import b/scenes/sprinting_demo/sprinting_demo.png.import
index d0d0b3a5..009029cf 100644
--- a/scenes/sprinting_demo/sprinting_demo.png.import
+++ b/scenes/sprinting_demo/sprinting_demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.stex"
-path.etc="res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc.stex"
+type="CompressedTexture2D"
+uid="uid://v4807nasx1dc"
+path.s3tc="res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.ctex"
+path.etc2="res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/sprinting_demo/sprinting_demo.png"
-dest_files=[ "res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.stex", "res://.import/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc.stex" ]
+dest_files=["res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.s3tc.ctex", "res://.godot/imported/sprinting_demo.png-7c44fd4c5246ffb4c41197c5b9952020.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/sprinting_demo/sprinting_demo.tscn b/scenes/sprinting_demo/sprinting_demo.tscn
index ba958334..78021569 100644
--- a/scenes/sprinting_demo/sprinting_demo.tscn
+++ b/scenes/sprinting_demo/sprinting_demo.tscn
@@ -1,93 +1,91 @@
-[gd_scene load_steps=21 format=2]
-
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_jump.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_climb.tscn" type="PackedScene" id=3]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=5]
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=6]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_tac_glove_low.tscn" type="PackedScene" id=7]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" type="PackedScene" id=8]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_tac_glove_low.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_pickup.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_direct.tscn" type="PackedScene" id=11]
-[ext_resource path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" type="Material" id=12]
-[ext_resource path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" type="Material" id=13]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=14]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=15]
-[ext_resource path="res://scenes/sprinting_demo/player_physics.tres" type="Resource" id=16]
-[ext_resource path="res://scenes/sprinting_demo/objects/ramp.tscn" type="PackedScene" id=17]
-[ext_resource path="res://scenes/sprinting_demo/objects/climbing_wall.tscn" type="PackedScene" id=18]
-[ext_resource path="res://scenes/sprinting_demo/objects/instructions.tscn" type="PackedScene" id=19]
-
-[sub_resource type="Curve3D" id=1]
+[gd_scene load_steps=22 format=3]
+
+[ext_resource type="PackedScene" uid="uid://c2q5phg8w08o" path="res://addons/godot-xr-tools/functions/movement_jump.tscn" id="1"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_5a8oj"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://b4kad2kuba1yn" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://drs4eeq721ojn" path="res://addons/godot-xr-tools/functions/movement_sprint.tscn" id="8"]
+[ext_resource type="PackedScene" uid="uid://l2n30mpbkdyw" path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" id="9"]
+[ext_resource type="PackedScene" uid="uid://b4ysuy43poobf" path="res://addons/godot-xr-tools/functions/function_pickup.tscn" id="10"]
+[ext_resource type="PackedScene" uid="uid://bl2nuu3qhlb5k" path="res://addons/godot-xr-tools/functions/movement_direct.tscn" id="11"]
+[ext_resource type="Material" uid="uid://p0q2df2dmy62" path="res://addons/godot-xr-tools/hands/materials/ghost_hand.tres" id="12"]
+[ext_resource type="PackedScene" uid="uid://bxm1ply47vaan" path="res://addons/godot-xr-tools/functions/movement_climb.tscn" id="12_gkoml"]
+[ext_resource type="Resource" path="res://scenes/sprinting_demo/player_physics.tres" id="12_ureyg"]
+[ext_resource type="Material" path="res://assets/wahooney.itch.io/brown_grid_triplanar.tres" id="13"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="14"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="15"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="16_3bcyp"]
+[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/ramp.tscn" id="17"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="17_k8kqb"]
+[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/climbing_wall.tscn" id="18"]
+[ext_resource type="PackedScene" path="res://scenes/sprinting_demo/objects/instructions.tscn" id="19"]
+
+[sub_resource type="Curve3D" id="1"]
bake_interval = 2.0
_data = {
-"points": PoolVector3Array( 10, 0, 0, -10, 0, 0, -20, 0, 20, 0, 0, 10, 0, 0, -10, -40, 0, 0, -10, 0, 0, 10, 0, 0, -20, 0, -20, -10, 0, 0, 10, 0, 0, 20, 0, -20, 0, 0, -10, 0, 0, 10, 40, 0, 0, 10, 0, 0, -10, 0, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, -20, 0, 20 ),
-"tilts": PoolRealArray( 0, 0, 0, 0, 0, 0, 0 )
+"points": PackedVector3Array(10, 0, 0, -10, 0, 0, -20, 0, 20, 0, 0, 10, 0, 0, -10, -40, 0, 0, -10, 0, 0, 10, 0, 0, -20, 0, -20, -10, 0, 0, 10, 0, 0, 20, 0, -20, 0, 0, -10, 0, 0, 10, 40, 0, 0, 10, 0, 0, -10, 0, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, -20, 0, 20),
+"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0)
}
+point_count = 7
-[node name="SprintingDemo" instance=ExtResource( 6 )]
+[node name="SprintingDemo" instance=ExtResource("6")]
+script = ExtResource("2_5a8oj")
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 7 )]
-hand_material_override = ExtResource( 12 )
+[node name="LeftHand" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("7")]
+hand_material_override = ExtResource("12")
-[node name="FunctionPickup" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 10 )]
+[node name="FunctionPickup" parent="XROrigin3D/LeftHand" index="1" instance=ExtResource("10")]
grab_distance = 0.1
-[node name="MovementDirect" parent="ARVROrigin/LeftHand" index="2" instance=ExtResource( 11 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/LeftHand" index="2" instance=ExtResource("11")]
max_speed = 3.0
strafe = true
-[node name="MovementJump" parent="ARVROrigin/LeftHand" index="3" instance=ExtResource( 1 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/LeftHand" index="3" instance=ExtResource("1")]
+jump_button_action = "ax_button"
-[node name="MovementSprint" parent="ARVROrigin/LeftHand" index="4" instance=ExtResource( 8 )]
+[node name="MovementSprint" parent="XROrigin3D/LeftHand" index="4" instance=ExtResource("8")]
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 9 )]
-hand_material_override = ExtResource( 12 )
+[node name="RightHand" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("9")]
+hand_material_override = ExtResource("12")
-[node name="FunctionPickup" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 10 )]
+[node name="FunctionPickup" parent="XROrigin3D/RightHand" index="1" instance=ExtResource("10")]
grab_distance = 0.1
-[node name="MovementDirect" parent="ARVROrigin/RightHand" index="2" instance=ExtResource( 11 )]
-enabled = true
-order = 10
+[node name="MovementDirect" parent="XROrigin3D/RightHand" index="2" instance=ExtResource("11")]
max_speed = 3.0
-strafe = false
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="3" instance=ExtResource( 2 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="3" instance=ExtResource("16_3bcyp")]
-[node name="MovementJump" parent="ARVROrigin/RightHand" index="4" instance=ExtResource( 1 )]
-jump_button_id = 7
+[node name="MovementJump" parent="XROrigin3D/RightHand" index="4" instance=ExtResource("1")]
+jump_button_action = "ax_button"
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 5 )]
-physics = ExtResource( 16 )
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("17_k8kqb")]
+physics = ExtResource("12_ureyg")
-[node name="MovementClimb" parent="ARVROrigin" index="4" instance=ExtResource( 3 )]
+[node name="MovementClimb" parent="XROrigin3D" index="4" instance=ExtResource("12_gkoml")]
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 4 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("4")]
-[node name="Teleport" parent="." index="2" instance=ExtResource( 15 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0 )
+[node name="Teleport" parent="." index="2" instance=ExtResource("15")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 0)
scene_base = NodePath("..")
-title = ExtResource( 14 )
+title = ExtResource("14")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 19 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("19")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4)
-[node name="Track" type="Spatial" parent="." index="4"]
+[node name="Track" type="Node3D" parent="." index="4"]
-[node name="Path" type="Path" parent="Track" index="0"]
-curve = SubResource( 1 )
+[node name="Path" type="Path3D" parent="Track" index="0"]
+curve = SubResource("1")
-[node name="CSGPolygon" type="CSGPolygon" parent="Track/Path" index="0"]
-material_override = ExtResource( 13 )
+[node name="CSGPolygon" type="CSGPolygon3D" parent="Track/Path" index="0"]
+material_override = ExtResource("13")
use_collision = true
collision_mask = 0
-polygon = PoolVector2Array( -3, 0, -2.5, 0.1, 2.5, 0.1, 3, 0 )
+polygon = PackedVector2Array(-3, 0, -2.5, 0.1, 2.5, 0.1, 3, 0)
mode = 2
path_node = NodePath("..")
path_interval_type = 0
@@ -99,30 +97,30 @@ path_continuous_u = true
path_u_distance = 1.0
path_joined = true
-[node name="Ramps" type="Spatial" parent="." index="5"]
+[node name="Ramps" type="Node3D" parent="." index="5"]
-[node name="Ramp1" parent="Ramps" index="0" instance=ExtResource( 17 )]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, 28 )
+[node name="Ramp1" parent="Ramps" index="0" instance=ExtResource("17")]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, 28)
-[node name="Ramp2" parent="Ramps" index="1" instance=ExtResource( 17 )]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, 28 )
+[node name="Ramp2" parent="Ramps" index="1" instance=ExtResource("17")]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, 28)
-[node name="Ramp3" parent="Ramps" index="2" instance=ExtResource( 17 )]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, -28 )
+[node name="Ramp3" parent="Ramps" index="2" instance=ExtResource("17")]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4, 0, -28)
-[node name="Ramp4" parent="Ramps" index="3" instance=ExtResource( 17 )]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, -28 )
+[node name="Ramp4" parent="Ramps" index="3" instance=ExtResource("17")]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4, 0, -28)
-[node name="Climbing" type="Spatial" parent="." index="6"]
+[node name="Climbing" type="Node3D" parent="." index="6"]
-[node name="ClimbingWall1" parent="Climbing" index="0" instance=ExtResource( 18 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 0, 0 )
+[node name="ClimbingWall1" parent="Climbing" index="0" instance=ExtResource("18")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -48, 0, 0)
-[node name="ClimbingWall2" parent="Climbing" index="1" instance=ExtResource( 18 )]
-transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 48, 0, 0 )
+[node name="ClimbingWall2" parent="Climbing" index="1" instance=ExtResource("18")]
+transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 48, 0, 0)
-[node name="ClimbingWall3" parent="Climbing" index="2" instance=ExtResource( 18 )]
-transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 48 )
+[node name="ClimbingWall3" parent="Climbing" index="2" instance=ExtResource("18")]
+transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0, 48)
-[node name="ClimbingWall4" parent="Climbing" index="3" instance=ExtResource( 18 )]
-transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -48 )
+[node name="ClimbingWall4" parent="Climbing" index="3" instance=ExtResource("18")]
+transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -48)
diff --git a/scenes/teleport_demo/objects/instructions_2d.tscn b/scenes/teleport_demo/objects/instructions_2d.tscn
index 5c649e1d..dbad6bcb 100644
--- a/scenes/teleport_demo/objects/instructions_2d.tscn
+++ b/scenes/teleport_demo/objects/instructions_2d.tscn
@@ -1,22 +1,25 @@
-[gd_scene format=2]
+[gd_scene format=3 uid="uid://l1rvno7fmj73"]
[node name="Instructions" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-margin_right = -624.0
-margin_bottom = -350.0
-rect_pivot_offset = Vector2( -421, -85 )
[node name="ColorRect" type="ColorRect" parent="."]
-margin_right = 400.0
-margin_bottom = 250.0
-color = Color( 0, 0, 0, 0.87451 )
+layout_mode = 0
+offset_right = 400.0
+offset_bottom = 250.0
+color = Color(0, 0, 0, 0.87451)
[node name="Description" type="RichTextLabel" parent="."]
-margin_left = 10.0
-margin_top = 10.0
-margin_right = 390.0
-margin_bottom = 240.0
+layout_mode = 0
+offset_left = 10.0
+offset_top = 10.0
+offset_right = 390.0
+offset_bottom = 240.0
+theme_override_constants/line_separation = -3
+theme_override_font_sizes/normal_font_size = 12
text = "Teleport Demo
This scene demonstrates teleport movement and is configured with the following movement controls:
diff --git a/scenes/teleport_demo/teleport movement demo.png.import b/scenes/teleport_demo/teleport movement demo.png.import
index b25a599c..944f30ce 100644
--- a/scenes/teleport_demo/teleport movement demo.png.import
+++ b/scenes/teleport_demo/teleport movement demo.png.import
@@ -1,37 +1,36 @@
[remap]
importer="texture"
-type="StreamTexture"
-path.s3tc="res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.stex"
-path.etc="res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc.stex"
+type="CompressedTexture2D"
+uid="uid://c8qc5ja60n3u8"
+path.s3tc="res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.ctex"
+path.etc2="res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc2.ctex"
metadata={
-"imported_formats": [ "s3tc", "etc" ],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/teleport_demo/teleport movement demo.png"
-dest_files=[ "res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.stex", "res://.import/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc.stex" ]
+dest_files=["res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.s3tc.ctex", "res://.godot/imported/teleport movement demo.png-d9b5bdbe5b510a93251251be5fb79bc6.etc2.ctex"]
[params]
compress/mode=2
+compress/high_quality=false
compress/lossy_quality=0.7
-compress/hdr_mode=0
-compress/bptc_ldr=0
+compress/hdr_compression=1
compress/normal_map=0
-flags/repeat=true
-flags/filter=true
-flags/mipmaps=true
-flags/anisotropic=false
-flags/srgb=2
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
-process/HDR_as_SRGB=false
-process/invert_color=false
process/normal_map_invert_y=false
-stream=false
-size_limit=0
-detect_3d=false
-svg/scale=1.0
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=0
diff --git a/scenes/teleport_demo/teleport_demo.tscn b/scenes/teleport_demo/teleport_demo.tscn
index c23d5395..1b376854 100644
--- a/scenes/teleport_demo/teleport_demo.tscn
+++ b/scenes/teleport_demo/teleport_demo.tscn
@@ -1,42 +1,38 @@
-[gd_scene load_steps=13 format=2]
+[gd_scene load_steps=12 format=3 uid="uid://7g6nh3s77jd7"]
-[ext_resource path="res://addons/godot-xr-tools/staging/scene_base.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/godot-xr-tools/functions/function_teleport.tscn" type="PackedScene" id=2]
-[ext_resource path="res://scenes/main_menu/return to main menu.png" type="Texture" id=3]
-[ext_resource path="res://addons/godot-xr-tools/player/player_body.tscn" type="PackedScene" id=4]
-[ext_resource path="res://addons/godot-xr-tools/functions/movement_turn.tscn" type="PackedScene" id=5]
-[ext_resource path="res://assets/meshes/teleport/teleport.tscn" type="PackedScene" id=6]
-[ext_resource path="res://assets/maps/basic_map.tscn" type="PackedScene" id=7]
-[ext_resource path="res://assets/meshes/ramps/ramps.tscn" type="PackedScene" id=8]
-[ext_resource path="res://assets/meshes/mound/mound.tscn" type="PackedScene" id=9]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/right_hand_low.tscn" type="PackedScene" id=10]
-[ext_resource path="res://addons/godot-xr-tools/hands/scenes/lowpoly/left_hand_low.tscn" type="PackedScene" id=11]
-[ext_resource path="res://scenes/teleport_demo/objects/instructions.tscn" type="PackedScene" id=12]
+[ext_resource type="PackedScene" uid="uid://qbmx03iibuuu" path="res://addons/godot-xr-tools/staging/scene_base.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://fiul51tsyoop" path="res://addons/godot-xr-tools/functions/function_teleport.tscn" id="2"]
+[ext_resource type="Script" path="res://scenes/demo_scene_base.gd" id="2_sq0a2"]
+[ext_resource type="Texture2D" uid="uid://ckw6nliyayo6a" path="res://scenes/main_menu/return to main menu.png" id="3"]
+[ext_resource type="PackedScene" uid="uid://diyu06cw06syv" path="res://addons/godot-xr-tools/player/player_body.tscn" id="4"]
+[ext_resource type="PackedScene" uid="uid://b6bk2pj8vbj28" path="res://addons/godot-xr-tools/functions/movement_turn.tscn" id="5"]
+[ext_resource type="PackedScene" uid="uid://3a6wjr3a13vd" path="res://assets/meshes/teleport/teleport.tscn" id="6"]
+[ext_resource type="PackedScene" uid="uid://rypqa6qcv0st" path="res://assets/maps/basic_map.tscn" id="7"]
+[ext_resource type="PackedScene" uid="uid://bdc23valbh8gf" path="res://assets/meshes/ramps/ramps.tscn" id="8"]
+[ext_resource type="PackedScene" path="res://scenes/teleport_demo/objects/instructions.tscn" id="8_s8lss"]
+[ext_resource type="PackedScene" uid="uid://dpjfart2qg8k7" path="res://assets/meshes/mound/mound.tscn" id="9"]
-[node name="TeleportDemo" instance=ExtResource( 1 )]
+[node name="TeleportDemo" instance=ExtResource("1")]
+script = ExtResource("2_sq0a2")
-[node name="LeftHand" parent="ARVROrigin/LeftHand" index="0" instance=ExtResource( 11 )]
+[node name="FunctionTeleport" parent="XROrigin3D/LeftHand" index="0" instance=ExtResource("2")]
-[node name="FunctionTeleport" parent="ARVROrigin/LeftHand" index="1" instance=ExtResource( 2 )]
+[node name="MovementTurn" parent="XROrigin3D/RightHand" index="0" instance=ExtResource("5")]
-[node name="RightHand" parent="ARVROrigin/RightHand" index="0" instance=ExtResource( 10 )]
+[node name="PlayerBody" parent="XROrigin3D" index="3" instance=ExtResource("4")]
-[node name="MovementTurn" parent="ARVROrigin/RightHand" index="1" instance=ExtResource( 5 )]
+[node name="BasicMap" parent="." index="1" instance=ExtResource("7")]
-[node name="PlayerBody" parent="ARVROrigin" index="3" instance=ExtResource( 4 )]
-
-[node name="BasicMap" parent="." index="1" instance=ExtResource( 7 )]
-
-[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource( 6 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7 )
+[node name="MainMenuTeleport" parent="." index="2" instance=ExtResource("6")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7)
scene_base = NodePath("..")
-title = ExtResource( 3 )
+title = ExtResource("3")
-[node name="Instructions" parent="." index="3" instance=ExtResource( 12 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4 )
+[node name="Instructions" parent="." index="3" instance=ExtResource("8_s8lss")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, -4)
-[node name="Ramps" parent="." index="4" instance=ExtResource( 8 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8 )
+[node name="Ramps" parent="." index="4" instance=ExtResource("8")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, -8)
-[node name="Mound" parent="." index="5" instance=ExtResource( 9 )]
-transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8 )
+[node name="Mound" parent="." index="5" instance=ExtResource("9")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 0, -8)