commit 643be614c5a8199f5debe5ca510c5b11bcdb01d3 Author: techrunner Date: Thu Apr 4 15:09:20 2024 -0500 Player and Pause Menu have been setup diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Assets/Tileset.tres b/Assets/Tileset.tres new file mode 100644 index 0000000..984bf70 --- /dev/null +++ b/Assets/Tileset.tres @@ -0,0 +1,17 @@ +[gd_resource type="MeshLibrary" load_steps=4 format=3 uid="uid://cxnlt46btvw4b"] + +[ext_resource type="Texture2D" uid="uid://dlggbkhxijuy1" path="res://Assets/textures/Mountain brown rock seamless texture 2048x2048.jpg" id="1_5x3ju"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_45hxk"] +albedo_texture = ExtResource("1_5x3ju") + +[sub_resource type="BoxMesh" id="BoxMesh_djq7j"] +material = SubResource("StandardMaterial3D_45hxk") + +[resource] +item/0/name = "Rock" +item/0/mesh = SubResource("BoxMesh_djq7j") +item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/shapes = [] +item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/navigation_layers = 1 diff --git a/Assets/components/Pause Screen.gd b/Assets/components/Pause Screen.gd new file mode 100644 index 0000000..397e8e5 --- /dev/null +++ b/Assets/components/Pause Screen.gd @@ -0,0 +1,28 @@ +extends Control + + +func _on_game_pause_button(): + if $Settings.visible: + $Settings.hide() + $"Pause Menu".show() + elif $"Pause Menu".visible: + $"Pause Menu".hide() + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + else: + $"Pause Menu".show() + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + + + +func _on_quit_pressed(): + get_tree().quit() + + +func _on_resume_pressed(): + hide() + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + + +func _on_settings_pressed(): + $"Pause Menu".hide() + $"Settings".show() diff --git a/Assets/components/Pause Screen.tscn b/Assets/components/Pause Screen.tscn new file mode 100644 index 0000000..f279f42 --- /dev/null +++ b/Assets/components/Pause Screen.tscn @@ -0,0 +1,137 @@ +[gd_scene load_steps=2 format=3 uid="uid://bwo6gvmi3jcqt"] + +[ext_resource type="Script" path="res://Assets/components/Pause Screen.gd" id="1_tqif2"] + +[node name="Menus" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_tqif2") + +[node name="Pause Menu" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Pause Label" type="RichTextLabel" parent="Pause Menu"] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -35.0 +offset_right = 35.0 +offset_bottom = 28.0 +grow_horizontal = 2 +text = "Paused" + +[node name="Menu" type="VBoxContainer" parent="Pause Menu"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -35.0 +offset_top = -50.5 +offset_right = 35.0 +offset_bottom = 50.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Resume" type="Button" parent="Pause Menu/Menu"] +layout_mode = 2 +text = "Resume" + +[node name="Settings" type="Button" parent="Pause Menu/Menu"] +layout_mode = 2 +text = "Settings" + +[node name="Quit" type="Button" parent="Pause Menu/Menu"] +layout_mode = 2 +text = "Quit +" + +[node name="Settings" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -23.0 +offset_top = 42.0 +offset_right = -23.0 +offset_bottom = 42.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="Settings"] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -20.0 +offset_right = 20.0 +offset_bottom = 23.0 +grow_horizontal = 2 +text = "Settings" + +[node name="VBoxContainer" type="VBoxContainer" parent="Settings"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -223.0 +offset_top = -430.5 +offset_right = 223.0 +offset_bottom = 430.5 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="Settings/VBoxContainer"] +custom_minimum_size = Vector2(0, 35) +layout_mode = 2 +color = Color(0.184314, 0.184314, 0.184314, 1) + +[node name="HSplitContainer" type="HSplitContainer" parent="Settings/VBoxContainer/ColorRect"] +layout_mode = 2 +offset_top = 4.0 +offset_right = 446.0 +offset_bottom = 27.0 + +[node name="Label" type="Label" parent="Settings/VBoxContainer/ColorRect/HSplitContainer"] +layout_mode = 2 +text = "Mouse Sensitity" + +[node name="HSlider" type="HSlider" parent="Settings/VBoxContainer/ColorRect/HSplitContainer"] +layout_mode = 2 + +[node name="ColorRect2" type="ColorRect" parent="Settings/VBoxContainer"] +custom_minimum_size = Vector2(0, 35) +layout_mode = 2 +color = Color(0.184314, 0.184314, 0.184314, 1) + +[node name="HSplitContainer" type="HSplitContainer" parent="Settings/VBoxContainer/ColorRect2"] +layout_mode = 2 +offset_top = 4.0 +offset_right = 446.0 +offset_bottom = 27.0 + +[node name="Label" type="Label" parent="Settings/VBoxContainer/ColorRect2/HSplitContainer"] +layout_mode = 2 +text = "Joystick Sensativity" + +[node name="HSlider" type="HSlider" parent="Settings/VBoxContainer/ColorRect2/HSplitContainer"] +layout_mode = 2 + +[connection signal="pressed" from="Pause Menu/Menu/Resume" to="." method="_on_resume_pressed"] +[connection signal="pressed" from="Pause Menu/Menu/Settings" to="." method="_on_settings_pressed"] +[connection signal="pressed" from="Pause Menu/Menu/Quit" to="." method="_on_quit_pressed"] diff --git a/Assets/components/Wall_a.tscn b/Assets/components/Wall_a.tscn new file mode 100644 index 0000000..8541a56 --- /dev/null +++ b/Assets/components/Wall_a.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=5 format=3 uid="uid://er8qeqe4d466"] + +[ext_resource type="Texture2D" uid="uid://db6enrh77cnbb" path="res://Assets/textures/wall_a.jpg" id="1_52lln"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_igcda"] +size = Vector3(5, 3.5, 0.2) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jo56m"] +albedo_texture = ExtResource("1_52lln") + +[sub_resource type="BoxMesh" id="BoxMesh_ivu18"] +material = SubResource("StandardMaterial3D_jo56m") +size = Vector3(5, 3.5, 0.2) + +[node name="StaticBody3D" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("BoxShape3D_igcda") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("BoxMesh_ivu18") +skeleton = NodePath("../CollisionShape3D") diff --git a/Assets/components/player.tscn b/Assets/components/player.tscn new file mode 100644 index 0000000..8fe7342 --- /dev/null +++ b/Assets/components/player.tscn @@ -0,0 +1,47 @@ +[gd_scene load_steps=5 format=3 uid="uid://bcjijcf8br8t4"] + +[ext_resource type="Script" path="res://Assets/scripts/player.gd" id="1_b2ij4"] +[ext_resource type="Script" path="res://Assets/scripts/Head.gd" id="2_is0vo"] +[ext_resource type="Script" path="res://Assets/components/vapelight.gd" id="2_ndvgb"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_lm3xc"] + +[node name="Player" type="CharacterBody3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.999344, 0) +script = ExtResource("1_b2ij4") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CapsuleShape3D_lm3xc") + +[node name="Node3D" type="Node3D" parent="."] +script = ExtResource("2_is0vo") + +[node name="Camera" type="Camera3D" parent="Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.576, 0) +current = true + +[node name="VapeLight" type="SpotLight3D" parent="Node3D"] +transform = Transform3D(1, 0, 0, 0, 0.934826, 0.355107, 0, -0.355107, 0.934826, 0.012711, 0.254978, 0.0294437) +light_color = Color(0.247059, 0.407843, 0.603922, 1) +spot_range = 5.368 +spot_attenuation = 0.847127 +spot_angle = 62.91 +spot_angle_attenuation = 1.38495 +script = ExtResource("2_ndvgb") + +[node name="Severe Coughing Timer" type="Timer" parent="."] +wait_time = 10.0 + +[node name="Coughing Timer" type="Timer" parent="."] +wait_time = 3.0 + +[node name="Coughing Recovery" type="Timer" parent="."] +wait_time = 5.0 + +[node name="Severe Coughing Recovery" type="Timer" parent="."] +wait_time = 15.0 + +[connection signal="timeout" from="Severe Coughing Timer" to="." method="_on_severe_coughing_timer_timeout"] +[connection signal="timeout" from="Coughing Timer" to="." method="_on_coughing_timer_timeout"] +[connection signal="timeout" from="Coughing Recovery" to="." method="_on_coughing_recovery_timeout"] +[connection signal="timeout" from="Severe Coughing Recovery" to="." method="_on_severe_coughing_recovery_timeout"] diff --git a/Assets/components/rock_floor.tscn b/Assets/components/rock_floor.tscn new file mode 100644 index 0000000..7ee162e --- /dev/null +++ b/Assets/components/rock_floor.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=3 uid="uid://dmbqijgut3s51"] + +[ext_resource type="Texture2D" uid="uid://dlggbkhxijuy1" path="res://Assets/textures/Mountain brown rock seamless texture 2048x2048.jpg" id="1_rd1yx"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_2xgye"] +size = Vector3(10, 1, 10) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jb2bo"] +albedo_texture = ExtResource("1_rd1yx") + +[sub_resource type="BoxMesh" id="BoxMesh_eip3x"] +material = SubResource("StandardMaterial3D_jb2bo") +size = Vector3(10, 1, 10) + +[node name="Rock Floor" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.75, 0, 0) +shape = SubResource("BoxShape3D_2xgye") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.831642, 0, 0) +mesh = SubResource("BoxMesh_eip3x") diff --git a/Assets/components/vapelight.gd b/Assets/components/vapelight.gd new file mode 100644 index 0000000..3dc0629 --- /dev/null +++ b/Assets/components/vapelight.gd @@ -0,0 +1,23 @@ +extends SpotLight3D + +var Power = 0.0 +var MaxPow = 6 +var is_vaping = false + +func _ready(): + light_energy = 0 + +func _process(delta): + if is_vaping: + if light_energy < MaxPow: + light_energy += 1 * delta + else: + if light_energy > 0: + light_energy -= .50 + +func on(): + is_vaping = true + +func off(): + is_vaping = false + diff --git a/Assets/components/wall.tscn b/Assets/components/wall.tscn new file mode 100644 index 0000000..60afa3e --- /dev/null +++ b/Assets/components/wall.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=5 format=3 uid="uid://bkbhm2x07o5vd"] + +[ext_resource type="Texture2D" uid="uid://dlggbkhxijuy1" path="res://Assets/textures/Mountain brown rock seamless texture 2048x2048.jpg" id="1_gkfw0"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_b1bm2"] +size = Vector3(10, 10, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_nsuje"] +size = Vector3(10, 10, 1) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yyl1p"] +albedo_texture = ExtResource("1_gkfw0") +emission = Color(0.768627, 0.388235, 0.92549, 1) + +[node name="StaticBody3D" type="StaticBody3D"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0809937, 0, 0) +shape = SubResource("BoxShape3D_b1bm2") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("BoxMesh_nsuje") +surface_material_override/0 = SubResource("StandardMaterial3D_yyl1p") diff --git a/Assets/scripts/Head.gd b/Assets/scripts/Head.gd new file mode 100644 index 0000000..7b6eaf9 --- /dev/null +++ b/Assets/scripts/Head.gd @@ -0,0 +1,11 @@ +extends Node3D + +@export var vertical_joystick_sensitity : float = 2 + +func _process(delta): + var look_velocity = Input.get_vector("look_left", "look_right", "look_up", "look_down") + rotate_x(-look_velocity.y * vertical_joystick_sensitity * delta) + +func _unhandled_input(event): + if event is InputEventMouseMotion: + rotate_x(-event.relative.y * 0.02 ) diff --git a/Assets/scripts/player.gd b/Assets/scripts/player.gd new file mode 100644 index 0000000..8a7f7c9 --- /dev/null +++ b/Assets/scripts/player.gd @@ -0,0 +1,140 @@ +extends CharacterBody3D + +#Condition Effect +enum CONDITION {NORMAL, SPRINTING, VAPING, COUGHING, SEVERE_COUGHING} +@export var current_condition = CONDITION.NORMAL +func set_condition(con): + current_condition = con + print("Setting Condition to ", con) + +var will_cough = false +var timealive = 0 +var vapes_per_min = 0 + +var current_speed +const SPEED_NORMAL = 5.0 +const SPEED_SPRINTING = 8.0 +const SPEED_VAPING = 4.5 +const SPEED_SLOWED = 3.0 +const SPEED_IMMOBILE = 0.0 +const JUMP_VELOCITY = 4.5 + +#Looking Variables +var mouse_sensitivity = 0.02 +var joystick_sensitity = 2 +var prev_mouse_location = Vector2() + + + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") + + +func _physics_process(delta): + match current_condition: + CONDITION.NORMAL: + current_speed = SPEED_NORMAL + CONDITION.SPRINTING: + current_speed = SPEED_SPRINTING + CONDITION.VAPING: + current_speed = SPEED_VAPING + CONDITION.COUGHING: + current_speed = SPEED_SLOWED + CONDITION.SEVERE_COUGHING: + current_speed = SPEED_IMMOBILE + + # Add the gravity. + if not is_on_floor(): + velocity.y -= gravity * delta + + # Handle jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor() and current_condition == CONDITION.NORMAL or current_condition == CONDITION.SPRINTING: + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var input_dir = Input.get_vector("move_left", "move_right", "move_forward", "move_back") + var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() + if direction: + velocity.x = direction.x * current_speed + velocity.z = direction.z * current_speed + else: + velocity.x = move_toward(velocity.x, 0, current_speed) + velocity.z = move_toward(velocity.z, 0, current_speed) + + + move_and_slide() + + var look_velocity = Input.get_vector("look_left", "look_right", "look_up", "look_down") + rotate_y(-look_velocity.x * joystick_sensitity * delta) + +#Look mouse controls left and right +func _unhandled_input(event): + if event is InputEventMouseMotion: + rotate_y(-event.relative.x * mouse_sensitivity) + + +func _process(delta): + #Calculations for seeing if you vaped too many times within a short span + timealive += delta + if int(timealive) % 60 == 0: + vapes_per_min = 0 + if vapes_per_min == randi_range(10,20): + will_cough = true + vapes_per_min = 0 + +func _input(event): + if event.is_action_pressed("vape"): + if current_condition == CONDITION.NORMAL: + vapes_per_min += 1 + set_condition(CONDITION.VAPING) + $"Coughing Timer".start() + $"Severe Coughing Timer".start() + $Node3D/VapeLight.on() + + if event.is_action_released("vape"): + $Node3D/VapeLight.off() + if current_condition == CONDITION.VAPING: + if will_cough and current_condition != CONDITION.SEVERE_COUGHING: + set_condition(CONDITION.COUGHING) + # Play Coughing Sound + $"Coughing Recovery".start() + $"Severe Coughing Timer".stop() + else: + set_condition(CONDITION.NORMAL) + $"Coughing Timer".stop() + $"Severe Coughing Timer".stop() + + if event.is_action_pressed("sprint"): + if current_condition == CONDITION.NORMAL: + set_condition(CONDITION.SPRINTING) + + if event.is_action_released("sprint"): + if current_condition == CONDITION.SPRINTING: + set_condition(CONDITION.NORMAL) + +func recover(): + will_cough = false + match current_condition: + CONDITION.COUGHING: + set_condition(CONDITION.NORMAL) + CONDITION.SEVERE_COUGHING: + set_condition(CONDITION.NORMAL) + + +#Timers +func _on_coughing_timer_timeout(): + will_cough = true + +func _on_severe_coughing_timer_timeout(): + if current_condition == CONDITION.VAPING: + set_condition(CONDITION.SEVERE_COUGHING) + $Node3D/VapeLight.off() + #Play Coughing Sound + $"Severe Coughing Recovery".start() + +func _on_coughing_recovery_timeout(): + recover() + +func _on_severe_coughing_recovery_timeout(): + recover() diff --git a/Assets/textures/Grass.jpg b/Assets/textures/Grass.jpg new file mode 100644 index 0000000..715ec89 Binary files /dev/null and b/Assets/textures/Grass.jpg differ diff --git a/Assets/textures/Grass.jpg.import b/Assets/textures/Grass.jpg.import new file mode 100644 index 0000000..a320cc1 --- /dev/null +++ b/Assets/textures/Grass.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2787ecuyoap2" +path="res://.godot/imported/Grass.jpg-f426c1783d50435e28ef0b8dc74d62e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/textures/Grass.jpg" +dest_files=["res://.godot/imported/Grass.jpg-f426c1783d50435e28ef0b8dc74d62e6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/textures/Rock.import b/Assets/textures/Rock.import new file mode 100644 index 0000000..f578a8f --- /dev/null +++ b/Assets/textures/Rock.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlggbkhxijuy1" +path.etc2="res://.godot/imported/Mountain brown rock seamless texture 2048x2048.jpg-28ae420fb6608101dbb93c6653a39409.etc2.ctex" +metadata={ +"imported_formats": ["etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/textures/Mountain brown rock seamless texture 2048x2048.jpg" +dest_files=["res://.godot/imported/Mountain brown rock seamless texture 2048x2048.jpg-28ae420fb6608101dbb93c6653a39409.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +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/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/textures/Rock.jpg b/Assets/textures/Rock.jpg new file mode 100644 index 0000000..c726cb6 Binary files /dev/null and b/Assets/textures/Rock.jpg differ diff --git a/Assets/textures/Rock.jpg.import b/Assets/textures/Rock.jpg.import new file mode 100644 index 0000000..d030b8a --- /dev/null +++ b/Assets/textures/Rock.jpg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4wrapx8kjia3" +path.etc2="res://.godot/imported/Rock.jpg-b7553527d3ced771bdf2cee26ec284ce.etc2.ctex" +metadata={ +"imported_formats": ["etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/textures/Rock.jpg" +dest_files=["res://.godot/imported/Rock.jpg-b7553527d3ced771bdf2cee26ec284ce.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +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/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/Assets/textures/gravel_path.jpg b/Assets/textures/gravel_path.jpg new file mode 100644 index 0000000..250776a Binary files /dev/null and b/Assets/textures/gravel_path.jpg differ diff --git a/Assets/textures/gravel_path.jpg.import b/Assets/textures/gravel_path.jpg.import new file mode 100644 index 0000000..1fb3aac --- /dev/null +++ b/Assets/textures/gravel_path.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6tcowk5wlp76" +path="res://.godot/imported/gravel_path.jpg-a256e38373277290ddca2eb94f31185d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/textures/gravel_path.jpg" +dest_files=["res://.godot/imported/gravel_path.jpg-a256e38373277290ddca2eb94f31185d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/textures/wall_a.jpg b/Assets/textures/wall_a.jpg new file mode 100644 index 0000000..16a7d09 Binary files /dev/null and b/Assets/textures/wall_a.jpg differ diff --git a/Assets/textures/wall_a.jpg.import b/Assets/textures/wall_a.jpg.import new file mode 100644 index 0000000..d51522b --- /dev/null +++ b/Assets/textures/wall_a.jpg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db6enrh77cnbb" +path.etc2="res://.godot/imported/wall_a.jpg-a965d12957ecfb4413d8c7de304c494d.etc2.ctex" +metadata={ +"imported_formats": ["etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://Assets/textures/wall_a.jpg" +dest_files=["res://.godot/imported/wall_a.jpg-a965d12957ecfb4413d8c7de304c494d.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +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/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a74b2c --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +![](https://github.com/sammburr/Basic-FPS-Player-GODOT-4.0/blob/4929a04b2791b13184eea82ead9caaf57894be48/addons/Basic%20FPS%20Player/Assets/Basic%20FPS%20Player.png) + +# Basic-FPS-Player-GODOT-4.0 +(`GDScript`) Godot 4.0 *very* basic FPS player controller with mouse and keyboard input for a kick start in your fps project. +Current version **V1.2** +- Basic walk + jump +- Head bob +- Mouse acceleration + smoothing +- Easy action rebinding + +## Installation +See: [Youtube Installation Video](https://www.youtube.com/watch?v=-yS7S-bYY3s) + +## Usage +All relevant settings are exported to godot to tweak within the editor. + +The character will only listen to mouse input when the mouse is captured; +(`Input.mouse_mode = Input.MOUSE_MODE_CAPTURED`). + +Enjoy! :) diff --git a/game.gd b/game.gd new file mode 100644 index 0000000..bd6b40e --- /dev/null +++ b/game.gd @@ -0,0 +1,10 @@ +extends Node3D + +signal pause_button + +func _ready(): + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + +func _input(event): + if event.is_action_pressed("quit"): + emit_signal("pause_button") diff --git a/game.tscn b/game.tscn new file mode 100644 index 0000000..fc1ec47 --- /dev/null +++ b/game.tscn @@ -0,0 +1,74 @@ +[gd_scene load_steps=12 format=3 uid="uid://dc26wfgxnhsnh"] + +[ext_resource type="PackedScene" uid="uid://bcjijcf8br8t4" path="res://Assets/components/player.tscn" id="1_haah0"] +[ext_resource type="Script" path="res://game.gd" id="1_kok48"] +[ext_resource type="PackedScene" uid="uid://bwo6gvmi3jcqt" path="res://Assets/components/Pause Screen.tscn" id="2_l8msk"] +[ext_resource type="Texture2D" uid="uid://b4wrapx8kjia3" path="res://Assets/textures/Rock.jpg" id="3_d1hi7"] +[ext_resource type="PackedScene" uid="uid://er8qeqe4d466" path="res://Assets/components/Wall_a.tscn" id="4_pcafu"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jb2bo"] +albedo_texture = ExtResource("3_d1hi7") + +[sub_resource type="BoxMesh" id="BoxMesh_xj37b"] +material = SubResource("StandardMaterial3D_jb2bo") +size = Vector3(10, 1, 10) + +[sub_resource type="Image" id="Image_3fovd"] +data = { +"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 142, 131, 255, 144, 140, 130, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 142, 133, 255, 147, 142, 132, 255, 147, 142, 131, 255, 146, 140, 128, 255, 145, 138, 125, 255, 143, 135, 121, 255, 143, 133, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 138, 131, 255, 147, 140, 133, 255, 147, 140, 131, 255, 146, 140, 128, 255, 145, 138, 125, 255, 143, 136, 121, 255, 143, 136, 121, 255, 143, 136, 121, 255, 143, 136, 121, 255, 145, 137, 122, 255, 146, 138, 123, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 135, 128, 255, 141, 134, 126, 255, 139, 132, 125, 255, 138, 130, 122, 255, 140, 133, 122, 255, 143, 136, 122, 255, 145, 137, 122, 255, 144, 137, 121, 255, 141, 134, 119, 255, 141, 134, 118, 255, 141, 134, 118, 255, 141, 134, 118, 255, 142, 134, 119, 255, 144, 137, 121, 255, 146, 139, 123, 255, 146, 138, 123, 255, 142, 135, 119, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 144, 136, 255, 148, 140, 133, 255, 146, 138, 130, 255, 145, 138, 130, 255, 145, 138, 130, 255, 143, 136, 127, 255, 141, 134, 122, 255, 138, 131, 117, 255, 138, 131, 115, 255, 138, 130, 115, 255, 138, 131, 115, 255, 138, 130, 115, 255, 138, 130, 115, 255, 138, 131, 116, 255, 139, 131, 116, 255, 138, 130, 115, 255, 140, 133, 117, 255, 142, 134, 119, 255, 143, 135, 120, 255, 143, 136, 121, 255, 142, 135, 120, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 148, 133, 255, 156, 149, 135, 255, 154, 146, 134, 255, 150, 143, 134, 255, 150, 142, 135, 255, 151, 144, 136, 255, 149, 142, 135, 255, 145, 138, 130, 255, 140, 133, 126, 255, 138, 130, 122, 255, 138, 131, 120, 255, 141, 134, 120, 255, 143, 136, 121, 255, 145, 137, 122, 255, 145, 138, 122, 255, 145, 137, 122, 255, 145, 137, 122, 255, 144, 137, 122, 255, 142, 135, 120, 255, 139, 132, 116, 255, 138, 131, 116, 255, 141, 134, 118, 255, 144, 137, 121, 255, 147, 139, 124, 255, 147, 139, 125, 255, 148, 140, 126, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 138, 123, 255, 147, 140, 126, 255, 149, 142, 127, 255, 150, 143, 130, 255, 149, 141, 131, 255, 145, 138, 129, 255, 145, 138, 130, 255, 146, 139, 131, 255, 147, 139, 132, 255, 147, 140, 133, 255, 146, 138, 131, 255, 144, 137, 129, 255, 141, 134, 126, 255, 142, 135, 126, 255, 146, 138, 128, 255, 150, 143, 130, 255, 154, 146, 132, 255, 156, 148, 133, 255, 156, 148, 133, 255, 153, 145, 130, 255, 148, 141, 126, 255, 145, 137, 122, 255, 141, 134, 119, 255, 138, 131, 116, 255, 138, 130, 115, 255, 140, 133, 118, 255, 145, 138, 123, 255, 151, 144, 129, 255, 157, 150, 135, 255, 155, 147, 133, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 140, 126, 255, 148, 140, 126, 255, 148, 140, 126, 255, 146, 139, 125, 255, 146, 138, 126, 255, 146, 139, 129, 255, 147, 139, 132, 255, 146, 138, 131, 255, 145, 138, 130, 255, 143, 136, 128, 255, 141, 134, 127, 255, 143, 136, 129, 255, 148, 140, 133, 255, 152, 144, 137, 255, 151, 144, 137, 255, 150, 143, 135, 255, 150, 142, 133, 255, 152, 144, 132, 255, 156, 148, 134, 255, 157, 150, 135, 255, 158, 151, 137, 255, 159, 152, 137, 255, 154, 147, 132, 255, 148, 141, 126, 255, 141, 134, 119, 255, 137, 129, 114, 255, 137, 129, 114, 255, 137, 129, 115, 255, 138, 130, 115, 255, 144, 137, 122, 255, 149, 142, 127, 255, 150, 143, 128, 255, 150, 143, 128, 255, 149, 141, 127, 255, 145, 137, 123, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 138, 128, 255, 147, 140, 129, 255, 153, 146, 132, 255, 155, 148, 133, 255, 151, 144, 129, 255, 147, 140, 125, 255, 143, 136, 121, 255, 140, 134, 119, 255, 141, 134, 122, 255, 143, 136, 126, 255, 144, 137, 129, 255, 143, 136, 128, 255, 143, 135, 128, 255, 146, 138, 131, 255, 149, 142, 135, 255, 152, 145, 137, 255, 151, 144, 134, 255, 149, 141, 129, 255, 146, 138, 123, 255, 150, 142, 128, 255, 153, 146, 131, 255, 154, 147, 132, 255, 154, 147, 132, 255, 155, 147, 132, 255, 154, 146, 131, 255, 151, 144, 128, 255, 144, 137, 122, 255, 139, 131, 116, 255, 138, 130, 115, 255, 146, 136, 120, 255, 152, 141, 126, 255, 155, 144, 129, 255, 151, 142, 127, 255, 147, 140, 126, 255, 147, 139, 125, 255, 147, 139, 125, 255, 146, 139, 123, 255, 145, 137, 122, 255, 146, 138, 123, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 142, 135, 255, 152, 145, 137, 255, 149, 141, 134, 255, 144, 137, 128, 255, 142, 135, 124, 255, 146, 138, 125, 255, 149, 141, 126, 255, 149, 142, 126, 255, 149, 141, 126, 255, 146, 138, 123, 255, 143, 136, 120, 255, 140, 133, 118, 255, 138, 130, 115, 255, 139, 133, 119, 255, 143, 136, 125, 255, 148, 140, 131, 255, 152, 145, 137, 255, 152, 145, 134, 255, 153, 145, 133, 255, 153, 146, 131, 255, 153, 145, 130, 255, 152, 144, 129, 255, 153, 146, 130, 255, 154, 146, 131, 255, 154, 146, 131, 255, 153, 146, 130, 255, 153, 146, 130, 255, 153, 146, 130, 255, 150, 143, 127, 255, 145, 137, 121, 255, 141, 131, 116, 255, 143, 130, 115, 255, 150, 136, 120, 255, 156, 141, 126, 255, 159, 144, 129, 255, 158, 144, 128, 255, 153, 141, 126, 255, 149, 138, 123, 255, 144, 136, 121, 255, 144, 137, 121, 255, 146, 139, 123, 255, 150, 142, 127, 255, 151, 144, 128, 255, 146, 138, 123, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 136, 128, 255, 144, 137, 129, 255, 146, 139, 131, 255, 148, 140, 132, 255, 146, 138, 127, 255, 141, 134, 121, 255, 140, 133, 117, 255, 143, 136, 121, 255, 146, 138, 123, 255, 147, 139, 124, 255, 148, 141, 125, 255, 148, 141, 126, 255, 148, 140, 125, 255, 146, 139, 123, 255, 144, 137, 121, 255, 141, 134, 119, 255, 139, 131, 117, 255, 142, 131, 119, 255, 146, 135, 124, 255, 148, 138, 126, 255, 150, 142, 128, 255, 151, 143, 128, 255, 150, 143, 128, 255, 151, 144, 129, 255, 153, 146, 131, 255, 154, 146, 131, 255, 153, 146, 130, 255, 153, 146, 130, 255, 153, 146, 130, 255, 153, 146, 130, 255, 150, 142, 127, 255, 143, 136, 121, 255, 140, 131, 117, 255, 148, 138, 123, 255, 155, 142, 127, 255, 159, 145, 129, 255, 156, 141, 125, 255, 153, 138, 123, 255, 152, 138, 122, 255, 156, 141, 125, 255, 154, 141, 126, 255, 153, 141, 126, 255, 148, 139, 124, 255, 143, 136, 120, 255, 141, 134, 118, 255, 141, 134, 118, 255, 144, 137, 121, 255, 148, 139, 124, 255, 154, 144, 128, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 138, 127, 255, 147, 140, 130, 255, 151, 144, 136, 255, 150, 141, 134, 255, 148, 137, 129, 255, 147, 134, 126, 255, 146, 131, 123, 255, 142, 129, 119, 255, 140, 130, 118, 255, 142, 134, 119, 255, 145, 138, 122, 255, 147, 140, 125, 255, 150, 143, 127, 255, 149, 142, 126, 255, 147, 139, 124, 255, 145, 138, 122, 255, 146, 137, 123, 255, 146, 136, 124, 255, 146, 133, 123, 255, 145, 130, 122, 255, 144, 129, 121, 255, 143, 128, 120, 255, 146, 133, 123, 255, 149, 138, 126, 255, 150, 141, 128, 255, 151, 143, 129, 255, 151, 144, 129, 255, 151, 144, 129, 255, 151, 143, 129, 255, 151, 142, 129, 255, 153, 143, 130, 255, 155, 146, 133, 255, 158, 150, 136, 255, 159, 152, 137, 255, 160, 152, 138, 255, 160, 152, 138, 255, 157, 150, 135, 255, 155, 146, 131, 255, 151, 140, 125, 255, 147, 134, 119, 255, 146, 131, 116, 255, 150, 135, 120, 255, 155, 142, 127, 255, 157, 146, 131, 255, 155, 146, 132, 255, 149, 141, 126, 255, 143, 136, 121, 255, 138, 131, 116, 255, 140, 133, 118, 255, 143, 136, 121, 255, 144, 137, 121, 255, 143, 136, 121, 255, 150, 140, 125, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 142, 128, 255, 148, 140, 126, 255, 142, 135, 121, 255, 137, 129, 115, 255, 140, 131, 119, 255, 142, 131, 121, 255, 145, 131, 122, 255, 145, 130, 122, 255, 142, 128, 119, 255, 140, 126, 118, 255, 138, 124, 116, 255, 138, 125, 116, 255, 141, 130, 118, 255, 143, 134, 120, 255, 144, 136, 121, 255, 143, 136, 121, 255, 144, 135, 121, 255, 145, 133, 122, 255, 146, 133, 123, 255, 148, 133, 125, 255, 148, 134, 125, 255, 148, 133, 125, 255, 146, 132, 123, 255, 146, 132, 124, 255, 149, 134, 126, 255, 151, 137, 128, 255, 150, 137, 128, 255, 150, 138, 127, 255, 150, 140, 127, 255, 149, 139, 127, 255, 149, 138, 126, 255, 150, 136, 127, 255, 151, 136, 128, 255, 152, 138, 129, 255, 156, 144, 134, 255, 160, 150, 138, 255, 161, 153, 139, 255, 160, 153, 138, 255, 157, 149, 135, 255, 154, 146, 131, 255, 151, 144, 129, 255, 147, 139, 125, 255, 146, 137, 122, 255, 149, 139, 125, 255, 155, 147, 132, 255, 157, 149, 135, 255, 155, 147, 133, 255, 151, 144, 129, 255, 147, 139, 125, 255, 145, 135, 122, 255, 144, 135, 122, 255, 146, 138, 123, 255, 149, 141, 126, 255, 149, 141, 126, 255, 141, 130, 118, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 143, 128, 255, 158, 144, 129, 255, 158, 147, 132, 255, 157, 149, 134, 255, 156, 148, 133, 255, 150, 143, 128, 255, 149, 142, 127, 255, 150, 143, 128, 255, 153, 144, 130, 255, 151, 140, 128, 255, 148, 135, 125, 255, 150, 136, 127, 255, 149, 135, 126, 255, 146, 131, 122, 255, 141, 127, 118, 255, 138, 123, 115, 255, 141, 128, 119, 255, 143, 130, 121, 255, 144, 129, 121, 255, 144, 129, 122, 255, 147, 132, 124, 255, 150, 135, 127, 255, 150, 136, 127, 255, 146, 134, 123, 255, 143, 132, 121, 255, 144, 131, 121, 255, 145, 131, 122, 255, 145, 130, 122, 255, 145, 130, 122, 255, 143, 128, 120, 255, 141, 127, 118, 255, 141, 126, 118, 255, 144, 129, 121, 255, 145, 130, 122, 255, 144, 129, 121, 255, 147, 134, 125, 255, 150, 139, 128, 255, 151, 142, 129, 255, 151, 144, 129, 255, 152, 144, 129, 255, 150, 143, 128, 255, 147, 140, 126, 255, 144, 137, 122, 255, 141, 134, 119, 255, 137, 130, 115, 255, 142, 135, 121, 255, 151, 143, 129, 255, 156, 148, 134, 255, 156, 147, 134, 255, 152, 141, 129, 255, 147, 134, 125, 255, 145, 130, 122, 255, 147, 132, 124, 255, 150, 137, 127, 255, 142, 131, 119, 255, 143, 131, 119, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 147, 133, 255, 165, 150, 135, 255, 164, 149, 135, 255, 160, 147, 133, 255, 158, 148, 133, 255, 157, 149, 135, 255, 157, 149, 135, 255, 160, 153, 138, 255, 166, 159, 144, 255, 167, 158, 143, 255, 163, 152, 137, 255, 154, 141, 126, 255, 144, 129, 114, 255, 146, 131, 118, 255, 149, 134, 123, 255, 150, 136, 126, 255, 146, 132, 123, 255, 143, 128, 120, 255, 143, 128, 120, 255, 145, 130, 122, 255, 145, 130, 122, 255, 145, 130, 122, 255, 146, 133, 123, 255, 147, 136, 124, 255, 145, 137, 122, 255, 143, 136, 121, 255, 142, 135, 119, 255, 142, 134, 119, 255, 144, 134, 121, 255, 145, 133, 121, 255, 142, 128, 118, 255, 138, 123, 115, 255, 141, 126, 118, 255, 146, 131, 122, 255, 150, 136, 128, 255, 153, 140, 130, 255, 153, 142, 130, 255, 154, 146, 132, 255, 154, 146, 131, 255, 152, 145, 130, 255, 151, 143, 129, 255, 150, 142, 128, 255, 146, 139, 125, 255, 143, 136, 121, 255, 138, 131, 116, 255, 139, 132, 118, 255, 144, 137, 122, 255, 150, 142, 128, 255, 153, 143, 130, 255, 153, 142, 130, 255, 152, 139, 129, 255, 150, 135, 127, 255, 147, 133, 125, 255, 145, 130, 122, 255, 142, 132, 121, 255, 144, 131, 120, 255, 145, 134, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 143, 127, 255, 160, 146, 130, 255, 165, 150, 135, 255, 166, 152, 137, 255, 162, 150, 135, 255, 159, 149, 134, 255, 157, 149, 135, 255, 156, 149, 134, 255, 154, 146, 132, 255, 150, 143, 128, 255, 147, 138, 123, 255, 155, 143, 128, 255, 164, 151, 135, 255, 172, 157, 141, 255, 168, 153, 138, 255, 158, 143, 127, 255, 150, 136, 120, 255, 146, 131, 116, 255, 144, 129, 115, 255, 142, 127, 115, 255, 144, 129, 119, 255, 147, 133, 124, 255, 150, 135, 127, 255, 148, 135, 125, 255, 148, 138, 125, 255, 151, 143, 128, 255, 150, 143, 127, 255, 150, 142, 127, 255, 150, 143, 128, 255, 152, 145, 128, 255, 153, 145, 127, 255, 156, 147, 127, 255, 159, 150, 129, 255, 157, 148, 128, 255, 154, 143, 127, 255, 151, 138, 126, 255, 150, 138, 128, 255, 155, 145, 133, 255, 158, 150, 137, 255, 158, 150, 136, 255, 155, 148, 133, 255, 152, 145, 130, 255, 151, 144, 129, 255, 151, 143, 128, 255, 149, 141, 126, 255, 146, 138, 123, 255, 141, 134, 119, 255, 135, 128, 112, 255, 133, 126, 110, 255, 138, 130, 116, 255, 140, 130, 118, 255, 139, 126, 116, 255, 141, 126, 118, 255, 145, 130, 122, 255, 149, 135, 126, 255, 143, 133, 122, 255, 144, 131, 120, 255, 146, 133, 122, 255, 144, 133, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 128, 113, 255, 149, 135, 119, 255, 153, 139, 123, 255, 156, 143, 127, 255, 157, 146, 130, 255, 155, 146, 131, 255, 151, 143, 129, 255, 149, 141, 127, 255, 150, 142, 128, 255, 152, 145, 130, 255, 156, 147, 132, 255, 158, 146, 130, 255, 155, 140, 125, 255, 151, 137, 121, 255, 153, 138, 123, 255, 159, 144, 129, 255, 160, 146, 130, 255, 160, 146, 130, 255, 160, 145, 129, 255, 156, 141, 126, 255, 153, 138, 123, 255, 151, 136, 121, 255, 150, 136, 121, 255, 152, 138, 124, 255, 150, 138, 125, 255, 146, 137, 122, 255, 145, 138, 122, 255, 147, 139, 124, 255, 147, 140, 124, 255, 150, 142, 126, 255, 157, 149, 130, 255, 161, 153, 132, 255, 162, 153, 131, 255, 160, 152, 130, 255, 161, 153, 131, 255, 162, 154, 132, 255, 162, 151, 131, 255, 160, 147, 130, 255, 159, 146, 131, 255, 158, 147, 133, 255, 153, 145, 130, 255, 148, 140, 126, 255, 147, 140, 126, 255, 151, 144, 129, 255, 156, 149, 134, 255, 157, 150, 135, 255, 153, 146, 131, 255, 150, 143, 128, 255, 150, 142, 127, 255, 149, 141, 126, 255, 146, 139, 123, 255, 144, 137, 122, 255, 142, 135, 119, 255, 143, 134, 120, 255, 143, 131, 121, 255, 144, 133, 123, 255, 145, 131, 121, 255, 146, 133, 122, 255, 144, 132, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 140, 125, 255, 150, 135, 119, 255, 148, 133, 118, 255, 150, 137, 122, 255, 154, 144, 128, 255, 157, 148, 133, 255, 156, 148, 133, 255, 151, 144, 129, 255, 147, 140, 125, 255, 145, 138, 123, 255, 147, 139, 125, 255, 149, 141, 127, 255, 152, 143, 128, 255, 153, 142, 127, 255, 151, 138, 123, 255, 146, 131, 116, 255, 148, 134, 118, 255, 153, 138, 122, 255, 157, 142, 126, 255, 160, 145, 129, 255, 160, 145, 129, 255, 160, 145, 129, 255, 160, 145, 129, 255, 160, 145, 129, 255, 159, 144, 129, 255, 160, 144, 129, 255, 158, 142, 127, 255, 153, 139, 125, 255, 150, 138, 123, 255, 149, 139, 123, 255, 150, 142, 123, 255, 156, 147, 126, 255, 162, 153, 131, 255, 166, 157, 135, 255, 168, 159, 137, 255, 166, 158, 136, 255, 164, 153, 134, 255, 163, 150, 133, 255, 162, 146, 131, 255, 161, 145, 130, 255, 161, 145, 130, 255, 162, 146, 131, 255, 158, 145, 130, 255, 152, 143, 128, 255, 148, 140, 126, 255, 146, 138, 124, 255, 150, 142, 128, 255, 151, 144, 129, 255, 151, 143, 128, 255, 152, 144, 129, 255, 154, 147, 131, 255, 158, 150, 135, 255, 157, 150, 135, 255, 153, 146, 130, 255, 144, 133, 123, 255, 144, 132, 122, 255, 145, 131, 121, 255, 146, 132, 121, 255, 144, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 149, 133, 255, 167, 152, 137, 255, 162, 147, 131, 255, 156, 143, 127, 255, 151, 140, 125, 255, 150, 142, 127, 255, 153, 146, 130, 255, 153, 146, 130, 255, 152, 144, 129, 255, 148, 140, 125, 255, 146, 139, 124, 255, 147, 140, 125, 255, 150, 143, 128, 255, 151, 144, 129, 255, 151, 144, 129, 255, 151, 144, 129, 255, 147, 139, 125, 255, 144, 134, 119, 255, 142, 130, 115, 255, 145, 131, 116, 255, 151, 136, 121, 255, 155, 140, 125, 255, 158, 143, 127, 255, 159, 144, 128, 255, 159, 144, 129, 255, 160, 145, 130, 255, 162, 146, 131, 255, 162, 147, 132, 255, 160, 144, 130, 255, 155, 139, 125, 255, 150, 135, 119, 255, 146, 132, 116, 255, 150, 137, 119, 255, 154, 144, 124, 255, 158, 148, 127, 255, 160, 151, 129, 255, 162, 150, 131, 255, 162, 149, 132, 255, 162, 146, 131, 255, 162, 146, 131, 255, 161, 146, 131, 255, 160, 144, 129, 255, 156, 141, 127, 255, 153, 142, 127, 255, 151, 143, 128, 255, 153, 145, 130, 255, 153, 146, 131, 255, 153, 145, 130, 255, 152, 144, 129, 255, 150, 143, 128, 255, 150, 143, 128, 255, 152, 145, 130, 255, 154, 147, 132, 255, 157, 150, 135, 255, 145, 134, 125, 255, 143, 131, 122, 255, 146, 131, 122, 255, 145, 131, 121, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 133, 118, 255, 141, 127, 111, 255, 141, 127, 111, 255, 150, 138, 123, 255, 156, 146, 131, 255, 160, 151, 137, 255, 158, 150, 136, 255, 155, 147, 133, 255, 152, 145, 129, 255, 148, 141, 125, 255, 146, 138, 123, 255, 142, 135, 120, 255, 140, 133, 117, 255, 141, 134, 118, 255, 145, 137, 122, 255, 149, 141, 126, 255, 150, 142, 127, 255, 147, 139, 125, 255, 142, 135, 119, 255, 139, 132, 116, 255, 138, 130, 115, 255, 140, 131, 116, 255, 146, 135, 119, 255, 151, 138, 123, 255, 158, 142, 127, 255, 159, 143, 129, 255, 160, 144, 129, 255, 161, 146, 130, 255, 162, 146, 132, 255, 159, 144, 129, 255, 155, 140, 125, 255, 151, 137, 121, 255, 151, 136, 121, 255, 153, 138, 122, 255, 156, 141, 126, 255, 161, 147, 131, 255, 163, 151, 135, 255, 163, 151, 136, 255, 162, 148, 134, 255, 162, 146, 131, 255, 164, 149, 134, 255, 165, 149, 135, 255, 163, 147, 135, 255, 161, 146, 136, 255, 157, 144, 134, 255, 153, 142, 130, 255, 151, 143, 129, 255, 153, 146, 131, 255, 154, 147, 132, 255, 154, 146, 131, 255, 152, 144, 129, 255, 150, 143, 128, 255, 151, 144, 129, 255, 151, 144, 129, 255, 146, 135, 125, 255, 143, 131, 121, 255, 146, 131, 122, 255, 145, 131, 121, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 80, 73, 255, 154, 139, 124, 255, 148, 134, 118, 255, 141, 129, 115, 255, 138, 129, 116, 255, 141, 133, 120, 255, 146, 139, 124, 255, 152, 144, 129, 255, 156, 148, 133, 255, 156, 149, 134, 255, 152, 145, 130, 255, 146, 138, 123, 255, 141, 134, 119, 255, 137, 129, 114, 255, 133, 126, 111, 255, 134, 127, 111, 255, 139, 131, 116, 255, 143, 136, 120, 255, 144, 137, 122, 255, 143, 136, 120, 255, 143, 135, 120, 255, 143, 136, 120, 255, 140, 133, 118, 255, 138, 131, 116, 255, 138, 130, 115, 255, 141, 133, 117, 255, 150, 139, 124, 255, 156, 144, 129, 255, 161, 146, 131, 255, 161, 146, 130, 255, 158, 143, 128, 255, 153, 139, 123, 255, 153, 138, 123, 255, 155, 140, 125, 255, 156, 141, 126, 255, 157, 144, 128, 255, 162, 150, 136, 255, 166, 157, 142, 255, 169, 160, 146, 255, 169, 160, 146, 255, 169, 160, 145, 255, 168, 157, 142, 255, 165, 151, 138, 255, 162, 146, 136, 255, 160, 144, 136, 255, 161, 146, 138, 255, 162, 146, 138, 255, 160, 144, 137, 255, 158, 145, 136, 255, 159, 147, 136, 255, 160, 150, 137, 255, 158, 151, 136, 255, 155, 147, 133, 255, 153, 146, 131, 255, 145, 134, 124, 255, 144, 130, 121, 255, 145, 131, 121, 255, 145, 131, 122, 255, 144, 130, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 72, 255, 87, 79, 72, 255, 88, 79, 73, 255, 88, 80, 73, 255, 138, 131, 124, 255, 136, 128, 121, 255, 137, 130, 122, 255, 143, 136, 126, 255, 148, 140, 128, 255, 151, 144, 130, 255, 153, 145, 130, 255, 150, 142, 127, 255, 146, 139, 125, 255, 145, 138, 123, 255, 142, 135, 120, 255, 140, 133, 118, 255, 139, 131, 116, 255, 139, 132, 116, 255, 139, 132, 116, 255, 139, 132, 116, 255, 139, 131, 116, 255, 139, 132, 116, 255, 139, 132, 116, 255, 138, 131, 116, 255, 140, 133, 117, 255, 145, 137, 122, 255, 149, 142, 126, 255, 152, 145, 129, 255, 152, 145, 129, 255, 154, 145, 129, 255, 156, 145, 129, 255, 153, 140, 125, 255, 150, 136, 121, 255, 150, 135, 119, 255, 151, 138, 123, 255, 153, 142, 127, 255, 155, 145, 130, 255, 158, 150, 135, 255, 163, 154, 139, 255, 167, 159, 144, 255, 169, 160, 145, 255, 167, 156, 141, 255, 164, 150, 136, 255, 159, 143, 129, 255, 159, 144, 130, 255, 161, 146, 135, 255, 165, 150, 140, 255, 166, 150, 142, 255, 162, 146, 139, 255, 161, 145, 138, 255, 160, 145, 138, 255, 158, 143, 135, 255, 154, 141, 131, 255, 144, 133, 123, 255, 144, 130, 121, 255, 145, 131, 121, 255, 146, 131, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 82, 74, 255, 89, 81, 74, 255, 89, 80, 73, 255, 87, 79, 73, 255, 86, 78, 72, 255, 87, 78, 73, 255, 88, 79, 74, 255, 88, 79, 74, 255, 149, 141, 134, 255, 149, 141, 134, 255, 147, 139, 130, 255, 144, 137, 126, 255, 143, 136, 123, 255, 146, 139, 125, 255, 149, 141, 127, 255, 150, 143, 128, 255, 149, 141, 127, 255, 143, 136, 121, 255, 139, 131, 116, 255, 136, 129, 113, 255, 137, 129, 114, 255, 138, 130, 115, 255, 139, 131, 116, 255, 138, 131, 116, 255, 139, 131, 116, 255, 142, 134, 119, 255, 146, 139, 123, 255, 150, 142, 127, 255, 152, 145, 129, 255, 152, 144, 128, 255, 149, 142, 126, 255, 146, 139, 123, 255, 143, 135, 119, 255, 142, 133, 118, 255, 140, 130, 115, 255, 136, 127, 112, 255, 140, 132, 118, 255, 147, 139, 125, 255, 151, 143, 128, 255, 153, 144, 129, 255, 160, 148, 133, 255, 164, 150, 136, 255, 167, 151, 136, 255, 168, 152, 137, 255, 165, 150, 135, 255, 163, 147, 133, 255, 158, 145, 130, 255, 156, 145, 131, 255, 156, 146, 134, 255, 158, 145, 135, 255, 160, 145, 137, 255, 161, 145, 138, 255, 143, 131, 122, 255, 144, 130, 121, 255, 145, 130, 121, 255, 146, 132, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 82, 74, 255, 89, 81, 74, 255, 89, 81, 73, 255, 88, 80, 73, 255, 89, 80, 73, 255, 89, 80, 73, 255, 88, 79, 73, 255, 87, 78, 73, 255, 87, 78, 74, 255, 88, 79, 74, 255, 88, 79, 74, 255, 140, 133, 126, 255, 136, 127, 118, 255, 141, 130, 118, 255, 149, 138, 124, 255, 154, 145, 129, 255, 156, 148, 134, 255, 154, 146, 132, 255, 148, 140, 126, 255, 143, 136, 121, 255, 144, 136, 122, 255, 145, 138, 123, 255, 145, 138, 123, 255, 140, 133, 118, 255, 131, 124, 109, 255, 135, 128, 113, 255, 140, 133, 118, 255, 144, 136, 121, 255, 146, 139, 124, 255, 149, 142, 127, 255, 149, 142, 127, 255, 147, 140, 125, 255, 145, 138, 122, 255, 144, 136, 121, 255, 143, 136, 120, 255, 144, 137, 121, 255, 145, 137, 122, 255, 148, 140, 125, 255, 151, 141, 127, 255, 153, 141, 126, 255, 155, 141, 126, 255, 158, 142, 128, 255, 160, 144, 129, 255, 160, 145, 130, 255, 162, 147, 132, 255, 162, 149, 134, 255, 159, 149, 134, 255, 155, 147, 132, 255, 153, 145, 130, 255, 152, 145, 130, 255, 144, 133, 123, 255, 143, 131, 122, 255, 144, 130, 120, 255, 144, 130, 121, 255, 146, 132, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 82, 74, 255, 90, 82, 74, 255, 90, 81, 74, 255, 90, 81, 74, 255, 89, 80, 73, 255, 88, 79, 72, 255, 88, 79, 72, 255, 89, 79, 73, 255, 88, 79, 73, 255, 88, 79, 74, 255, 88, 79, 74, 255, 88, 79, 74, 255, 88, 79, 74, 255, 88, 79, 74, 255, 149, 135, 119, 255, 150, 136, 120, 255, 152, 139, 124, 255, 152, 140, 126, 255, 146, 138, 123, 255, 137, 130, 115, 255, 142, 135, 120, 255, 151, 144, 129, 255, 163, 155, 140, 255, 160, 153, 138, 255, 150, 143, 128, 255, 146, 138, 123, 255, 145, 138, 123, 255, 146, 138, 123, 255, 148, 140, 126, 255, 152, 144, 129, 255, 156, 149, 134, 255, 155, 147, 132, 255, 151, 144, 129, 255, 145, 138, 122, 255, 139, 132, 116, 255, 140, 133, 118, 255, 144, 135, 119, 255, 146, 135, 119, 255, 148, 134, 119, 255, 150, 136, 120, 255, 153, 137, 122, 255, 153, 138, 123, 255, 154, 139, 124, 255, 155, 143, 128, 255, 157, 147, 133, 255, 159, 152, 137, 255, 156, 149, 134, 255, 152, 145, 130, 255, 143, 132, 122, 255, 143, 131, 122, 255, 144, 130, 120, 255, 144, 130, 121, 255, 146, 132, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 81, 74, 255, 90, 81, 74, 255, 90, 81, 74, 255, 90, 81, 74, 255, 89, 80, 74, 255, 88, 79, 73, 255, 88, 78, 72, 255, 88, 79, 73, 255, 89, 79, 73, 255, 89, 79, 74, 255, 89, 80, 75, 255, 89, 79, 75, 255, 88, 79, 75, 255, 89, 79, 74, 255, 154, 139, 124, 255, 158, 144, 128, 255, 157, 143, 127, 255, 151, 139, 123, 255, 145, 135, 120, 255, 144, 136, 121, 255, 150, 143, 128, 255, 152, 145, 130, 255, 150, 143, 128, 255, 148, 140, 126, 255, 147, 139, 125, 255, 146, 139, 124, 255, 149, 141, 126, 255, 152, 145, 130, 255, 156, 148, 134, 255, 157, 150, 135, 255, 156, 149, 134, 255, 152, 145, 130, 255, 147, 138, 123, 255, 145, 135, 119, 255, 146, 133, 117, 255, 149, 135, 119, 255, 152, 138, 122, 255, 155, 140, 125, 255, 156, 141, 125, 255, 153, 138, 123, 255, 150, 138, 123, 255, 150, 141, 127, 255, 154, 146, 132, 255, 156, 149, 134, 255, 143, 132, 122, 255, 143, 131, 121, 255, 143, 129, 120, 255, 145, 130, 121, 255, 145, 131, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 80, 73, 255, 90, 80, 74, 255, 91, 81, 75, 255, 90, 81, 74, 255, 89, 80, 73, 255, 87, 78, 72, 255, 87, 78, 72, 255, 89, 79, 73, 255, 89, 80, 74, 255, 89, 80, 75, 255, 89, 80, 75, 255, 89, 80, 75, 255, 89, 80, 75, 255, 89, 80, 75, 255, 156, 143, 128, 255, 158, 148, 133, 255, 156, 149, 134, 255, 156, 149, 134, 255, 156, 149, 134, 255, 156, 149, 134, 255, 154, 146, 130, 255, 151, 144, 126, 255, 150, 143, 122, 255, 151, 143, 122, 255, 153, 145, 126, 255, 155, 148, 130, 255, 159, 151, 136, 255, 156, 148, 134, 255, 151, 144, 128, 255, 146, 138, 123, 255, 141, 134, 119, 255, 143, 134, 118, 255, 148, 136, 121, 255, 153, 140, 124, 255, 156, 142, 126, 255, 154, 139, 124, 255, 152, 137, 122, 255, 156, 141, 126, 255, 162, 148, 133, 255, 143, 132, 123, 255, 143, 130, 121, 255, 143, 129, 120, 255, 145, 130, 121, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 80, 73, 255, 89, 80, 73, 255, 91, 81, 75, 255, 91, 82, 75, 255, 90, 81, 74, 255, 88, 79, 72, 255, 88, 78, 72, 255, 88, 79, 73, 255, 89, 80, 74, 255, 89, 80, 74, 255, 89, 80, 75, 255, 89, 80, 75, 255, 89, 80, 75, 255, 90, 81, 75, 255, 152, 144, 129, 255, 156, 148, 133, 255, 156, 148, 132, 255, 155, 148, 129, 255, 154, 147, 125, 255, 153, 146, 123, 255, 152, 144, 121, 255, 150, 143, 120, 255, 151, 143, 121, 255, 153, 142, 122, 255, 154, 143, 126, 255, 154, 143, 128, 255, 152, 143, 128, 255, 148, 140, 125, 255, 144, 137, 121, 255, 141, 134, 118, 255, 138, 131, 116, 255, 140, 132, 116, 255, 145, 135, 119, 255, 148, 136, 120, 255, 149, 135, 119, 255, 143, 132, 123, 255, 142, 129, 119, 255, 143, 129, 119, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 79, 73, 255, 88, 79, 73, 255, 90, 81, 74, 255, 91, 82, 76, 255, 91, 82, 75, 255, 89, 80, 74, 255, 88, 79, 72, 255, 88, 79, 73, 255, 90, 80, 74, 255, 90, 80, 74, 255, 89, 80, 75, 255, 89, 80, 75, 255, 90, 80, 76, 255, 90, 81, 76, 255, 90, 81, 76, 255, 153, 146, 122, 255, 154, 146, 123, 255, 153, 146, 122, 255, 152, 144, 122, 255, 156, 146, 126, 255, 163, 150, 132, 255, 164, 149, 133, 255, 160, 145, 129, 255, 162, 148, 132, 255, 164, 151, 135, 255, 158, 146, 131, 255, 153, 144, 128, 255, 152, 144, 128, 255, 148, 140, 125, 255, 144, 136, 121, 255, 140, 133, 117, 255, 143, 132, 122, 255, 141, 128, 118, 255, 143, 129, 119, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 80, 74, 255, 90, 81, 75, 255, 91, 83, 76, 255, 91, 83, 76, 255, 90, 81, 75, 255, 89, 80, 73, 255, 89, 79, 73, 255, 90, 80, 74, 255, 90, 81, 74, 255, 89, 80, 74, 255, 89, 80, 75, 255, 90, 81, 76, 255, 91, 81, 77, 255, 90, 81, 76, 255, 148, 140, 121, 255, 142, 135, 117, 255, 140, 131, 116, 255, 142, 131, 115, 255, 139, 127, 111, 255, 136, 121, 106, 255, 143, 129, 113, 255, 149, 135, 119, 255, 153, 138, 123, 255, 156, 142, 126, 255, 154, 141, 126, 255, 143, 131, 122, 255, 143, 131, 122, 255, 141, 127, 118, 255, 143, 129, 119, 255, 145, 131, 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 81, 74, 255, 90, 82, 75, 255, 91, 83, 77, 255, 91, 84, 77, 255, 91, 83, 76, 255, 90, 81, 74, 255, 89, 80, 73, 255, 88, 79, 73, 255, 89, 80, 73, 255, 89, 80, 74, 255, 89, 80, 75, 255, 90, 81, 76, 255, 91, 82, 77, 255, 91, 82, 77, 255, 147, 139, 124, 255, 133, 126, 110, 255, 119, 111, 95, 255, 124, 114, 98, 255, 128, 117, 101, 255, 137, 123, 108, 255, 145, 130, 115, 255, 143, 132, 123, 255, 143, 131, 122, 255, 140, 127, 117, 255, 143, 129, 119, 255, 146, 131, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 82, 76, 255, 91, 84, 77, 255, 91, 84, 78, 255, 91, 84, 77, 255, 91, 82, 75, 255, 89, 80, 74, 255, 88, 79, 73, 255, 88, 79, 72, 255, 88, 79, 73, 255, 89, 79, 74, 255, 90, 81, 76, 255, 91, 81, 77, 255, 91, 82, 77, 255, 90, 82, 76, 255, 137, 129, 115, 255, 122, 115, 100, 255, 145, 133, 123, 255, 142, 130, 121, 255, 140, 127, 117, 255, 143, 129, 119, 255, 146, 132, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 83, 76, 255, 91, 84, 77, 255, 92, 85, 78, 255, 91, 84, 78, 255, 91, 83, 76, 255, 90, 81, 75, 255, 89, 80, 73, 255, 87, 78, 72, 255, 87, 78, 71, 255, 88, 79, 73, 255, 89, 80, 75, 255, 90, 81, 76, 255, 90, 82, 76, 255, 142, 129, 119, 255, 141, 127, 118, 255, 144, 130, 120, 255, 146, 132, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 84, 77, 255, 91, 84, 78, 255, 91, 84, 78, 255, 91, 83, 77, 255, 90, 82, 75, 255, 89, 80, 74, 255, 88, 79, 72, 255, 87, 78, 72, 255, 87, 78, 72, 255, 142, 128, 119, 255, 145, 131, 122, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 84, 77, 255, 91, 84, 77, 255, 91, 84, 77, 255, 91, 83, 76, 255, 90, 81, 75, 255, 89, 80, 74, 255, 146, 133, 123, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 83, 77, 255, 91, 83, 77, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +"format": "RGBA8", +"height": 64, +"mipmaps": false, +"width": 64 +} + +[sub_resource type="ImageTexture" id="ImageTexture_f2a3a"] +image = SubResource("Image_3fovd") + +[sub_resource type="MeshLibrary" id="MeshLibrary_s8rx8"] +item/0/name = "MeshInstance3D" +item/0/mesh = SubResource("BoxMesh_xj37b") +item/0/mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/shapes = [] +item/0/navigation_mesh_transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) +item/0/navigation_layers = 1 +item/0/preview = SubResource("ImageTexture_f2a3a") +metadata/_editor_source_scene = "res://Assets/components/rock_floor.tscn" + +[sub_resource type="BoxShape3D" id="BoxShape3D_xmw1p"] +size = Vector3(300, 1, 300) + +[node name="Game" type="Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.4385, 4.44342, -3.87397) +script = ExtResource("1_kok48") + +[node name="Pause Menu" parent="." instance=ExtResource("2_l8msk")] + +[node name="player" parent="." instance=ExtResource("1_haah0")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.36293, 0) + +[node name="GridMap" type="GridMap" parent="."] +mesh_library = SubResource("MeshLibrary_s8rx8") +cell_size = Vector3(10, 1, 10) +data = { +"cells": PackedInt32Array(65535, 65535, 0, 65535, 0, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 65535, 0, 1, 65534, 0, 65535, 65534, 0, 65534, 65534, 0, 65534, 65535, 0, 65534, 0, 0, 65534, 1, 0, 65534, 2, 0, 65535, 2, 0, 0, 2, 0, 1, 2, 0, 2, 1, 0, 2, 2, 0, 2, 0, 0, 2, 65535, 0, 2, 65534, 0, 1, 65533, 0, 2, 65533, 0, 65535, 65533, 0, 65534, 65533, 0, 65533, 65533, 0, 65533, 65534, 0, 65533, 65535, 0, 65533, 0, 0, 65533, 1, 0, 65533, 2, 0, 65533, 3, 0, 65534, 3, 0, 65535, 3, 0, 0, 3, 0, 2, 3, 0, 3, 3, 0, 3, 2, 0, 3, 1, 0, 3, 0, 0, 3, 65535, 0, 3, 65534, 0, 3, 65533, 0, 3, 65532, 0, 2, 65532, 0, 1, 65532, 0, 0, 65532, 0, 65535, 65532, 0, 65534, 65532, 0, 65533, 65532, 0, 65532, 65532, 0, 65532, 65533, 0, 65532, 65534, 0, 65532, 65535, 0, 65532, 0, 0, 65532, 4, 0, 65533, 4, 0, 65535, 4, 0, 0, 4, 0, 2, 4, 0, 3, 4, 0, 4, 4, 0, 4, 3, 0, 4, 2, 0, 4, 1, 0, 4, 0, 0, 4, 65535, 0, 4, 65534, 0, 4, 65533, 0, 4, 65532, 0, 3, 65531, 0, 2, 65531, 0, 1, 65531, 0, 0, 65531, 0, 65535, 65531, 0, 65534, 65531, 0, 65533, 65531, 0, 65532, 65531, 0, 65531, 65531, 0, 65531, 65532, 0, 65531, 65533, 0, 65531, 65534, 0, 65531, 65535, 0, 65531, 0, 0, 65531, 1, 0, 65531, 2, 0, 65531, 3, 0, 65531, 4, 0, 4, 65531, 0, 8, 65526, 0, 7, 65526, 0, 7, 65527, 0, 6, 65528, 0, 6, 65529, 0, 5, 65530, 0, 8, 65527, 0, 8, 65528, 0, 8, 65529, 0, 8, 65530, 0, 8, 65531, 0, 8, 65532, 0, 8, 65533, 0, 8, 65534, 0, 8, 65535, 0, 8, 0, 0, 8, 1, 0, 8, 2, 0, 8, 3, 0, 8, 4, 0, 7, 4, 0, 7, 5, 0, 6, 5, 0, 5, 5, 0, 7, 6, 0, 8, 6, 0, 8, 5, 0, 8, 7, 0, 8, 8, 0, 7, 9, 0, 6, 9, 0, 5, 9, 0, 7, 8, 0, 8, 9, 0, 7, 65528, 0, 7, 65529, 0, 7, 65530, 0, 7, 65531, 0, 7, 65533, 0, 7, 65534, 0, 7, 65535, 0, 6, 0, 0, 6, 1, 0, 6, 2, 0, 6, 3, 0, 7, 7, 0, 7, 2, 0, 7, 1, 0, 7, 0, 0, 7, 65532, 0, 7, 3, 0, 6, 6, 0, 6, 7, 0, 6, 8, 0, 6, 4, 0, 6, 65535, 0, 6, 65534, 0, 6, 65533, 0, 6, 65532, 0, 6, 65531, 0, 6, 65530, 0, 6, 65527, 0, 6, 65526, 0, 5, 65526, 0, 5, 65527, 0, 5, 65528, 0, 5, 65529, 0, 5, 65531, 0, 5, 65532, 0, 5, 65533, 0, 5, 65534, 0, 5, 65535, 0, 5, 0, 0, 5, 2, 0, 5, 3, 0, 5, 4, 0, 5, 6, 0, 5, 7, 0, 5, 1, 0, 5, 8, 0, 4, 9, 0, 4, 8, 0, 4, 7, 0, 4, 6, 0, 4, 5, 0, 4, 65530, 0, 4, 65529, 0, 4, 65528, 0, 4, 65527, 0, 4, 65526, 0, 3, 65526, 0, 3, 65527, 0, 3, 65528, 0, 3, 65529, 0, 3, 65530, 0, 3, 5, 0, 3, 6, 0, 3, 7, 0, 3, 8, 0, 3, 9, 0, 2, 9, 0, 2, 8, 0, 0, 8, 0, 0, 7, 0, 65535, 7, 0, 65534, 7, 0, 65533, 7, 0, 65532, 8, 0, 65533, 8, 0, 65534, 8, 0, 0, 9, 0, 65535, 9, 0, 65534, 9, 0, 65533, 9, 0, 65532, 9, 0, 65531, 8, 0, 65531, 7, 0, 65531, 6, 0, 65531, 5, 0, 65531, 9, 0, 65530, 65534, 0, 65530, 65533, 0, 65530, 65532, 0, 65530, 65531, 0, 65530, 65530, 0, 65530, 65529, 0, 65531, 65528, 0, 65531, 65527, 0, 65529, 65533, 0, 65529, 65534, 0, 65529, 3, 0, 65529, 5, 0, 65529, 6, 0, 65529, 7, 0, 65529, 8, 0, 65529, 9, 0, 65529, 4, 0, 65529, 2, 0, 65529, 65531, 0, 65529, 65530, 0, 65529, 65529, 0, 65529, 65528, 0, 65529, 65527, 0, 65530, 65527, 0, 65532, 65527, 0, 65533, 65527, 0, 65534, 65527, 0, 65535, 65527, 0, 0, 65527, 0, 1, 65527, 0, 2, 65527, 0, 2, 65526, 0, 1, 65526, 0, 0, 65526, 0, 65535, 65526, 0, 65534, 65526, 0, 65533, 65526, 0, 65532, 65526, 0, 65531, 65526, 0, 65530, 65526, 0, 65529, 65526, 0, 65529, 65532, 0, 65530, 65528, 0, 65531, 65529, 0, 65531, 65530, 0, 65532, 65530, 0, 65532, 65529, 0, 65532, 65528, 0, 65533, 65528, 0, 65533, 65529, 0, 65533, 65530, 0, 65534, 65528, 0, 65534, 65529, 0, 65534, 65530, 0, 65535, 65529, 0, 65535, 65530, 0, 0, 65530, 0, 0, 65529, 0, 0, 65528, 0, 65535, 65528, 0, 1, 65528, 0, 1, 65529, 0, 2, 65529, 0, 2, 65530, 0, 1, 65530, 0, 2, 65528, 0, 1, 5, 0, 2, 5, 0, 1, 7, 0, 1, 6, 0, 65535, 6, 0, 65534, 6, 0, 65534, 5, 0, 65533, 5, 0, 0, 5, 0, 65532, 5, 0, 65532, 6, 0, 65533, 6, 0, 65532, 7, 0, 65535, 8, 0, 65530, 9, 0, 65530, 8, 0, 65530, 7, 0, 65530, 6, 0, 65530, 5, 0, 65530, 4, 0, 65530, 3, 0, 65530, 2, 0, 65530, 1, 0, 65529, 0, 0, 65529, 1, 0, 65529, 65535, 0, 65530, 65535, 0, 65530, 0, 0, 65532, 3, 0, 65532, 2, 0, 65532, 1, 0, 65534, 4, 0, 0, 6, 0, 65535, 5, 0, 1, 8, 0, 1, 9, 0, 2, 7, 0, 2, 6, 0, 0, 65533, 0, 0, 65534, 0, 0, 65535, 0, 1, 4, 0, 1, 3, 0, 0, 0, 0, 65528, 9, 0, 65528, 8, 0, 65528, 7, 0, 65528, 6, 0, 65528, 5, 0, 65528, 4, 0, 65528, 3, 0, 65528, 2, 0, 65528, 1, 0, 65528, 0, 0, 65528, 65535, 0, 65528, 65533, 0, 65528, 65534, 0, 65528, 65532, 0, 65528, 65531, 0, 65528, 65530, 0, 65528, 65529, 0, 65528, 65528, 0, 65528, 65527, 0, 65528, 65526, 0, 65527, 65534, 0, 65527, 65533, 0, 65527, 65532, 0, 65526, 65533, 0, 65526, 65534, 0, 65526, 65535, 0, 65526, 0, 0, 65527, 0, 0, 65527, 1, 0, 65527, 2, 0, 65527, 3, 0, 65527, 65535, 0, 65527, 4, 0, 65527, 5, 0, 65527, 6, 0, 65526, 6, 0, 65526, 7, 0, 65525, 7, 0, 65525, 8, 0, 65526, 8, 0, 65527, 7, 0, 65527, 8, 0, 65527, 9, 0, 65531, 65521, 0, 65532, 65521, 0, 65533, 65521, 0, 65534, 65521, 0, 65535, 65521, 0, 65535, 65522, 0, 0, 65521, 0, 0, 65522, 0, 65521, 65521, 0, 65521, 65522, 0, 65521, 65523, 0, 65521, 65524, 0, 65521, 65525, 0, 65521, 65526, 0, 65521, 65527, 0, 65521, 65528, 0, 65521, 65529, 0, 65521, 65530, 0, 65521, 65531, 0, 65521, 65532, 0, 65521, 65533, 0, 65521, 65534, 0, 65522, 65534, 0, 65522, 65535, 0, 65522, 0, 0, 65522, 1, 0, 65521, 65535, 0, 65521, 0, 0, 65521, 1, 0, 65522, 65533, 0, 65522, 65532, 0, 65522, 65531, 0, 65522, 65530, 0, 65522, 65529, 0, 65522, 65528, 0, 65522, 65527, 0, 65522, 65526, 0, 65522, 65525, 0, 65522, 65524, 0, 65522, 65523, 0, 65522, 65522, 0, 65522, 65521, 0, 65523, 65521, 0, 65524, 65521, 0, 65525, 65521, 0, 65526, 65521, 0, 65527, 65521, 0, 65528, 65521, 0, 65529, 65521, 0, 65530, 65521, 0, 65532, 65522, 0, 65533, 65522, 0, 65534, 65522, 0, 65535, 65523, 0, 0, 65523, 0, 0, 65524, 0, 0, 65525, 0, 65535, 65525, 0, 65535, 65524, 0, 65534, 65523, 0, 65533, 65523, 0, 65534, 65524, 0, 65534, 65525, 0, 65533, 65525, 0, 65532, 65525, 0, 65532, 65524, 0, 65533, 65524, 0, 65532, 65523, 0, 65531, 65523, 0, 65531, 65522, 0, 65530, 65522, 0, 65529, 65522, 0, 65528, 65522, 0, 65527, 65522, 0, 65526, 65522, 0, 65525, 65522, 0, 65524, 65522, 0, 65523, 65522, 0, 65523, 65523, 0, 65523, 65524, 0, 65523, 65526, 0, 65523, 65527, 0, 65523, 65528, 0, 65523, 65529, 0, 65523, 65530, 0, 65523, 65531, 0, 65523, 65532, 0, 65523, 1, 0, 65523, 2, 0, 65523, 65535, 0, 65523, 65533, 0, 65523, 65525, 0, 65523, 65534, 0, 65523, 0, 0, 65524, 65530, 0, 65524, 65528, 0, 65524, 65527, 0, 65524, 65526, 0, 65524, 65525, 0, 65524, 65524, 0, 65524, 65523, 0, 65524, 65532, 0, 65524, 65534, 0, 65524, 0, 0, 65524, 2, 0, 65524, 3, 0, 65524, 4, 0, 65524, 5, 0, 65524, 1, 0, 65524, 65535, 0, 65524, 65533, 0, 65524, 65529, 0, 65524, 65531, 0, 65525, 65529, 0, 65525, 65527, 0, 65525, 65525, 0, 65525, 65524, 0, 65525, 65526, 0, 65525, 65528, 0, 65525, 65531, 0, 65525, 65533, 0, 65525, 65534, 0, 65526, 65525, 0, 65526, 65523, 0, 65526, 65524, 0, 65526, 65527, 0, 65526, 65529, 0, 65526, 65531, 0, 65525, 65535, 0, 65525, 65532, 0, 65525, 65530, 0, 65525, 65523, 0, 65526, 65528, 0, 65526, 65530, 0, 65526, 65532, 0, 65527, 65524, 0, 65527, 65525, 0, 65527, 65527, 0, 65527, 65529, 0, 65527, 65530, 0, 65527, 65523, 0, 65528, 65524, 0, 65528, 65525, 0, 65529, 65523, 0, 65530, 65525, 0, 65529, 65525, 0, 65529, 65524, 0, 65530, 65524, 0, 65530, 65523, 0, 65528, 65523, 0, 65531, 65524, 0, 65531, 65525, 0, 65526, 65526, 0, 65527, 65526, 0, 65527, 65531, 0, 65527, 65528, 0, 65525, 1, 0, 65525, 2, 0, 65525, 4, 0, 65525, 6, 0, 65525, 5, 0, 65521, 2, 0, 65521, 3, 0, 65521, 4, 0, 65521, 5, 0, 65521, 6, 0, 65521, 7, 0, 65521, 8, 0, 65521, 9, 0, 65521, 10, 0, 65521, 11, 0, 65521, 12, 0, 65521, 13, 0, 65521, 14, 0, 65522, 14, 0, 65523, 14, 0, 65524, 14, 0, 65525, 14, 0, 65526, 14, 0, 65527, 14, 0, 65528, 14, 0, 65529, 13, 0, 65530, 13, 0, 65531, 13, 0, 65532, 13, 0, 65530, 14, 0, 65531, 14, 0, 65532, 14, 0, 65533, 14, 0, 65534, 14, 0, 65535, 14, 0, 0, 14, 0, 65529, 14, 0, 65533, 12, 0, 65534, 12, 0, 65535, 12, 0, 0, 12, 0, 0, 13, 0, 65535, 13, 0, 65535, 11, 0, 65535, 10, 0, 0, 10, 0, 0, 11, 0, 65534, 11, 0, 65534, 13, 0, 65533, 11, 0, 65534, 10, 0, 65533, 10, 0, 65532, 10, 0, 65531, 11, 0, 65530, 11, 0, 65532, 12, 0, 65533, 13, 0, 65531, 12, 0, 65530, 12, 0, 65529, 12, 0, 65528, 12, 0, 65527, 12, 0, 65526, 13, 0, 65525, 13, 0, 65524, 13, 0, 65523, 13, 0, 65523, 12, 0, 65522, 12, 0, 65522, 11, 0, 65522, 10, 0, 65522, 9, 0, 65522, 8, 0, 65522, 7, 0, 65522, 6, 0, 65522, 5, 0, 65522, 4, 0, 65522, 3, 0, 65522, 2, 0, 65522, 13, 0, 65523, 11, 0, 65523, 10, 0, 65523, 9, 0, 65523, 8, 0, 65523, 7, 0, 65523, 6, 0, 65523, 5, 0, 65523, 4, 0, 65523, 3, 0, 65524, 6, 0, 65524, 7, 0, 65524, 8, 0, 65524, 9, 0, 65524, 10, 0, 65524, 11, 0, 65524, 12, 0, 65525, 3, 0, 65525, 0, 0, 65526, 1, 0, 65526, 2, 0, 65526, 3, 0, 65526, 4, 0, 65526, 5, 0, 65526, 9, 0, 65525, 9, 0, 65525, 10, 0, 65525, 11, 0, 65525, 12, 0, 65526, 12, 0, 65527, 13, 0, 65528, 13, 0, 65526, 11, 0, 65527, 10, 0, 65528, 10, 0, 65529, 10, 0, 65530, 10, 0, 65531, 10, 0, 65532, 11, 0, 65526, 10, 0, 65528, 11, 0, 65529, 11, 0, 65527, 11, 0, 14, 14, 0, 13, 14, 0, 12, 14, 0, 11, 14, 0, 10, 14, 0, 9, 14, 0, 8, 14, 0, 7, 14, 0, 6, 14, 0, 5, 14, 0, 4, 14, 0, 3, 14, 0, 2, 14, 0, 2, 13, 0, 1, 13, 0, 1, 12, 0, 1, 14, 0, 1, 11, 0, 1, 10, 0, 2, 11, 0, 2, 12, 0, 4, 13, 0, 5, 13, 0, 6, 13, 0, 7, 13, 0, 8, 13, 0, 9, 13, 0, 10, 13, 0, 11, 13, 0, 12, 13, 0, 13, 13, 0, 14, 65521, 0, 14, 65522, 0, 14, 65523, 0, 14, 65524, 0, 14, 65525, 0, 14, 65527, 0, 14, 65528, 0, 14, 65530, 0, 14, 65531, 0, 14, 65532, 0, 14, 65534, 0, 14, 65535, 0, 14, 0, 0, 14, 12, 0, 14, 11, 0, 14, 9, 0, 14, 8, 0, 14, 6, 0, 14, 5, 0, 14, 3, 0, 13, 65533, 0, 14, 65533, 0, 13, 65532, 0, 14, 65529, 0, 14, 65526, 0, 13, 65521, 0, 12, 65521, 0, 11, 65521, 0, 10, 65521, 0, 9, 65521, 0, 8, 65521, 0, 7, 65521, 0, 6, 65521, 0, 5, 65521, 0, 4, 65521, 0, 4, 65522, 0, 3, 65522, 0, 2, 65522, 0, 1, 65522, 0, 2, 65521, 0, 3, 65521, 0, 1, 65521, 0, 1, 65523, 0, 1, 65524, 0, 1, 65525, 0, 2, 65523, 0, 2, 65524, 0, 3, 65524, 0, 3, 65525, 0, 2, 65525, 0, 3, 65523, 0, 4, 65524, 0, 5, 65524, 0, 6, 65524, 0, 6, 65525, 0, 4, 65523, 0, 7, 65524, 0, 8, 65524, 0, 9, 65524, 0, 10, 65524, 0, 11, 65524, 0, 11, 65523, 0, 12, 65522, 0, 13, 65522, 0, 13, 65523, 0, 13, 65524, 0, 13, 65525, 0, 13, 65526, 0, 13, 65528, 0, 13, 65529, 0, 13, 65530, 0, 13, 65527, 0, 13, 65531, 0, 12, 65526, 0, 12, 65525, 0, 12, 65524, 0, 12, 65523, 0, 12, 65528, 0, 12, 65531, 0, 12, 65533, 0, 12, 65535, 0, 12, 1, 0, 12, 2, 0, 12, 3, 0, 13, 4, 0, 13, 5, 0, 13, 6, 0, 12, 0, 0, 12, 65529, 0, 12, 65527, 0, 12, 65530, 0, 14, 13, 0, 13, 12, 0, 13, 11, 0, 13, 10, 0, 13, 9, 0, 13, 8, 0, 13, 7, 0, 14, 7, 0, 14, 10, 0, 14, 4, 0, 14, 2, 0, 14, 1, 0, 13, 65535, 0, 12, 65534, 0, 12, 65532, 0, 12, 4, 0, 12, 5, 0, 12, 6, 0, 13, 0, 0, 13, 65534, 0, 13, 1, 0, 13, 2, 0, 13, 3, 0, 12, 8, 0, 11, 9, 0, 11, 10, 0, 12, 11, 0, 12, 12, 0, 11, 12, 0, 10, 12, 0, 9, 12, 0, 8, 12, 0, 7, 12, 0, 6, 12, 0, 5, 12, 0, 4, 12, 0, 3, 13, 0, 3, 12, 0, 2, 10, 0, 3, 10, 0, 3, 11, 0, 4, 11, 0, 5, 11, 0, 4, 10, 0, 5, 10, 0, 6, 11, 0, 7, 11, 0, 7, 10, 0, 6, 10, 0, 8, 11, 0, 9, 11, 0, 8, 10, 0, 9, 10, 0, 10, 11, 0, 11, 11, 0, 10, 10, 0, 12, 10, 0, 12, 9, 0, 12, 7, 0, 11, 5, 0, 11, 4, 0, 11, 3, 0, 10, 2, 0, 11, 2, 0, 11, 6, 0, 11, 8, 0, 10, 9, 0, 10, 8, 0, 10, 6, 0, 10, 4, 0, 10, 3, 0, 10, 5, 0, 10, 7, 0, 9, 9, 0, 9, 7, 0, 9, 6, 0, 9, 3, 0, 9, 2, 0, 9, 4, 0, 9, 5, 0, 9, 8, 0, 11, 7, 0, 11, 0, 0, 11, 65535, 0, 11, 65534, 0, 11, 65533, 0, 11, 65532, 0, 11, 65531, 0, 11, 65530, 0, 11, 65528, 0, 11, 65527, 0, 11, 65525, 0, 11, 1, 0, 11, 65529, 0, 11, 65526, 0, 11, 65522, 0, 10, 65522, 0, 9, 65522, 0, 10, 65523, 0, 10, 65525, 0, 10, 65526, 0, 10, 65527, 0, 10, 65528, 0, 9, 65529, 0, 9, 65530, 0, 9, 65531, 0, 9, 65532, 0, 9, 65533, 0, 9, 65534, 0, 9, 65535, 0, 9, 0, 0, 9, 1, 0, 10, 1, 0, 10, 0, 0, 10, 65534, 0, 10, 65533, 0, 10, 65531, 0, 10, 65530, 0, 10, 65529, 0, 10, 65532, 0, 10, 65535, 0, 9, 65527, 0, 9, 65526, 0, 9, 65525, 0, 9, 65523, 0, 8, 65522, 0, 7, 65522, 0, 6, 65522, 0, 5, 65522, 0, 5, 65523, 0, 6, 65523, 0, 7, 65523, 0, 8, 65523, 0, 5, 65525, 0, 4, 65525, 0, 7, 65525, 0, 8, 65525, 0, 9, 65528, 0) +} + +[node name="StaticBody3D" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] +shape = SubResource("BoxShape3D_xmw1p") + +[node name="StaticBody3D2" parent="." instance=ExtResource("4_pcafu")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8623, 2.5, 10.5814) + +[node name="StaticBody3D3" parent="." instance=ExtResource("4_pcafu")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.8448, 2.5, 15.3289) + +[node name="StaticBody3D4" parent="." instance=ExtResource("4_pcafu")] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1, 0, 0, -10.3072, 2.55658, 12.9319) + +[node name="StaticBody3D5" parent="." instance=ExtResource("4_pcafu")] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -15.2446, 2.5, 14.2674) + +[connection signal="pause_button" from="." to="Pause Menu" method="_on_game_pause_button"] diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..a95bea5 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bduep6u8y6ou7" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/normal_map_invert_y=false +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/project.godot b/project.godot new file mode 100644 index 0000000..eb639da --- /dev/null +++ b/project.godot @@ -0,0 +1,87 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="HorrorGame" +run/main_scene="res://game.tscn" +config/features=PackedStringArray("4.2", "Forward Plus") +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=1920 +window/size/viewport_height=1080 + +[input] + +vape={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":102,"echo":false,"script":null) +] +} +look_left={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null) +] +} +look_right={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null) +] +} +look_up={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":-1.0,"script":null) +] +} +look_down={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null) +] +} +move_forward={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) +] +} +move_back={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":114,"echo":false,"script":null) +] +} +move_right={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":115,"echo":false,"script":null) +] +} +move_left={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":97,"echo":false,"script":null) +] +} +sprint={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null) +] +} +quit={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null) +] +}