Finish work on intro
This commit is contained in:
		
							parent
							
								
									78217f95ce
								
							
						
					
					
						commit
						88fa879396
					
				
					 7 changed files with 111 additions and 56 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								assets/line.wav
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/line.wav
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										24
									
								
								assets/line.wav.import
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								assets/line.wav.import
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					[remap]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					importer="wav"
 | 
				
			||||||
 | 
					type="AudioStreamWAV"
 | 
				
			||||||
 | 
					uid="uid://cqxegg4cbnh2g"
 | 
				
			||||||
 | 
					path="res://.godot/imported/line.wav-2436911f20ad973896190845e5033a40.sample"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[deps]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source_file="res://assets/line.wav"
 | 
				
			||||||
 | 
					dest_files=["res://.godot/imported/line.wav-2436911f20ad973896190845e5033a40.sample"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[params]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					force/8_bit=false
 | 
				
			||||||
 | 
					force/mono=false
 | 
				
			||||||
 | 
					force/max_rate=false
 | 
				
			||||||
 | 
					force/max_rate_hz=44100
 | 
				
			||||||
 | 
					edit/trim=false
 | 
				
			||||||
 | 
					edit/normalize=false
 | 
				
			||||||
 | 
					edit/loop_mode=0
 | 
				
			||||||
 | 
					edit/loop_begin=0
 | 
				
			||||||
 | 
					edit/loop_end=-1
 | 
				
			||||||
 | 
					compress/mode=0
 | 
				
			||||||
| 
						 | 
					@ -1,46 +1,7 @@
 | 
				
			||||||
[gd_scene load_steps=7 format=3 uid="uid://dfvl3luba7j4"]
 | 
					[gd_scene load_steps=7 format=3 uid="uid://dfvl3luba7j4"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource type="FontFile" uid="uid://b55n3f2bh16v5" path="res://assets/fonts/Linebeam.ttf" id="2_04cpk"]
 | 
					[ext_resource type="Script" path="res://scripts/intro.gd" id="1_ps5xe"]
 | 
				
			||||||
 | 
					[ext_resource type="FontFile" uid="uid://b55n3f2bh16v5" path="res://assets/fonts/Linebeam.ttf" id="2_8yl5p"]
 | 
				
			||||||
[sub_resource type="GDScript" id="GDScript_axp0a"]
 | 
					 | 
				
			||||||
resource_name = "Test"
 | 
					 | 
				
			||||||
script/source = "extends Control
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var lines: Array[String] = [
 | 
					 | 
				
			||||||
\"[code]piix4_smbus 00|00:0||0:14.0: SMBus Host Controller at 0xb00, revision 0[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]piix4_smbus 00||00:0|_0:14.0: Using register 0x02 for SMBus port selection[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]i2c: Successfully instantiated SPD at 0x50[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]i2c: Successfully instantiated SPD at 0x51[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]i2c: Successfully instantiated SPD at 0x52[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]cryptd: max_cpu_qlen set to 1000[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]null: receiving encrypted message. Decrypting![/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]null: Listen! The only way we can stop the AI now is to [error][/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]null: you're our only hope! There's an executable attached, use it to [error][/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]null: receiving remote attachment, saving to ~/antidote.bin[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]sp5100-tco sp5100-tco: Using 0xfeb00000 for watchdog MMIO address[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]LOADING DEMO[pulse freq=1.0 color=#ffffff40 ease=-2.0]...[/pulse][/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]-------------------------------------[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]|            AltParty '24               |[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]-------------------------------------[/code]\\n\",
 | 
					 | 
				
			||||||
\"\\n\",
 | 
					 | 
				
			||||||
\"[code]Minihakkerit 2024[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]Programming & Build tools: XTRA[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]Programming & 3D: GorkaMorka[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]Music & Planning: AUGI[/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]Spooling up firewall[pulse freq=1.0 color=#ffffff40 ease=-2.0]........[/pulse][/code]\",
 | 
					 | 
				
			||||||
\"[code] Done![/code]\\n\",
 | 
					 | 
				
			||||||
\"[code]Entry symbol 0x00007f5653fbcdb9 detected! Attaching[pulse freq=1.0 color=#ffffff40 ease=-2.0]...[/pulse][/code]\",
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func _ready() -> void:
 | 
					 | 
				
			||||||
	$AnimationPlayer.play(\"terminal\");
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
func next_line() -> void:
 | 
					 | 
				
			||||||
	$Terminal.append_text(lines[0]);
 | 
					 | 
				
			||||||
	lines.remove_at(0);
 | 
					 | 
				
			||||||
"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="Animation" id="Animation_dirfa"]
 | 
					[sub_resource type="Animation" id="Animation_dirfa"]
 | 
				
			||||||
length = 0.001
 | 
					length = 0.001
 | 
				
			||||||
| 
						 | 
					@ -60,8 +21,8 @@ tracks/0/path = NodePath(".")
 | 
				
			||||||
tracks/0/interp = 1
 | 
					tracks/0/interp = 1
 | 
				
			||||||
tracks/0/loop_wrap = true
 | 
					tracks/0/loop_wrap = true
 | 
				
			||||||
tracks/0/keys = {
 | 
					tracks/0/keys = {
 | 
				
			||||||
"times": PackedFloat32Array(0.533333, 1.16667, 2, 2.06667, 2.1, 2.33333, 2.46667, 2.53333, 2.63333, 2.73333, 2.91327, 2.94791, 3.10277, 5, 7, 7.03333, 7.06667, 7.07814, 7.07933, 7.08075, 7.08422, 7.08726, 7.75495, 9.34944, 9.40845),
 | 
					"times": PackedFloat32Array(0.533333, 1.16667, 2, 2.06667, 2.1, 2.33333, 2.46667, 2.53333, 2.63333, 2.73333, 2.91327, 2.94791, 3.10277, 5, 7, 7.03333, 7.06667, 7.07814, 7.07933, 7.08075, 7.08422, 7.08726, 7.73333, 8.13333, 8.23333, 8.3, 8.36667, 9.34944, 9.40845, 9.76667),
 | 
				
			||||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 | 
					"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 | 
				
			||||||
"values": [{
 | 
					"values": [{
 | 
				
			||||||
"args": [],
 | 
					"args": [],
 | 
				
			||||||
"method": &"next_line"
 | 
					"method": &"next_line"
 | 
				
			||||||
| 
						 | 
					@ -137,6 +98,21 @@ tracks/0/keys = {
 | 
				
			||||||
}, {
 | 
					}, {
 | 
				
			||||||
"args": [],
 | 
					"args": [],
 | 
				
			||||||
"method": &"next_line"
 | 
					"method": &"next_line"
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"args": [],
 | 
				
			||||||
 | 
					"method": &"next_line"
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"args": [],
 | 
				
			||||||
 | 
					"method": &"next_line"
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"args": [],
 | 
				
			||||||
 | 
					"method": &"next_line"
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"args": [],
 | 
				
			||||||
 | 
					"method": &"next_line"
 | 
				
			||||||
 | 
					}, {
 | 
				
			||||||
 | 
					"args": [],
 | 
				
			||||||
 | 
					"method": &"next_line"
 | 
				
			||||||
}]
 | 
					}]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -147,14 +123,14 @@ _data = {
 | 
				
			||||||
"terminal": SubResource("Animation_6cb10")
 | 
					"terminal": SubResource("Animation_6cb10")
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Test" type="Control"]
 | 
					[node name="Intro" type="Control"]
 | 
				
			||||||
layout_mode = 3
 | 
					layout_mode = 3
 | 
				
			||||||
anchors_preset = 15
 | 
					anchors_preset = 15
 | 
				
			||||||
anchor_right = 1.0
 | 
					anchor_right = 1.0
 | 
				
			||||||
anchor_bottom = 1.0
 | 
					anchor_bottom = 1.0
 | 
				
			||||||
grow_horizontal = 2
 | 
					grow_horizontal = 2
 | 
				
			||||||
grow_vertical = 2
 | 
					grow_vertical = 2
 | 
				
			||||||
script = SubResource("GDScript_axp0a")
 | 
					script = ExtResource("1_ps5xe")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="ColorRect" type="ColorRect" parent="."]
 | 
					[node name="ColorRect" type="ColorRect" parent="."]
 | 
				
			||||||
layout_mode = 1
 | 
					layout_mode = 1
 | 
				
			||||||
| 
						 | 
					@ -186,7 +162,7 @@ offset_right = -28.0
 | 
				
			||||||
offset_bottom = -20.0
 | 
					offset_bottom = -20.0
 | 
				
			||||||
grow_horizontal = 2
 | 
					grow_horizontal = 2
 | 
				
			||||||
grow_vertical = 2
 | 
					grow_vertical = 2
 | 
				
			||||||
theme_override_fonts/mono_font = ExtResource("2_04cpk")
 | 
					theme_override_fonts/mono_font = ExtResource("2_8yl5p")
 | 
				
			||||||
theme_override_font_sizes/mono_font_size = 35
 | 
					theme_override_font_sizes/mono_font_size = 35
 | 
				
			||||||
theme_override_font_sizes/normal_font_size = 24
 | 
					theme_override_font_sizes/normal_font_size = 24
 | 
				
			||||||
bbcode_enabled = true
 | 
					bbcode_enabled = true
 | 
				
			||||||
| 
						 | 
					@ -37,28 +37,37 @@ func _ready() -> void:
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		match shader_name:
 | 
							match shader_name:
 | 
				
			||||||
			\"pixelate\":
 | 
								\"pixelate\":
 | 
				
			||||||
 | 
									if OS.is_debug_build():
 | 
				
			||||||
 | 
										print(\"pixelate\");
 | 
				
			||||||
				shaders.remove_at(shaders.find(shader, 0));
 | 
									shaders.remove_at(shaders.find(shader, 0));
 | 
				
			||||||
				print(\"pixelate\")
 | 
					 | 
				
			||||||
				material.set_shader_parameter(\"x_pixel_size\", randi_range(1, 5));
 | 
									material.set_shader_parameter(\"x_pixel_size\", randi_range(1, 5));
 | 
				
			||||||
				material.set_shader_parameter(\"y_pixel_size\", randi_range(1, 5));
 | 
									material.set_shader_parameter(\"y_pixel_size\", randi_range(1, 5));
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			\"cromatic-abberation\":
 | 
								\"cromatic-abberation\":
 | 
				
			||||||
 | 
									if OS.is_debug_build():
 | 
				
			||||||
					print(\"cromatic-abberation\") #Tiiän et täs on typo FFS, en rupee renamaa tiedostoo
 | 
										print(\"cromatic-abberation\") #Tiiän et täs on typo FFS, en rupee renamaa tiedostoo
 | 
				
			||||||
				material.set_shader_parameter(\"chaos\", randf_range(10.0, 32.0));
 | 
									material.set_shader_parameter(\"chaos\", randf_range(10.0, 32.0));
 | 
				
			||||||
				material.set_shader_parameter(\"radius\", randf_range(0.3, 1.0));
 | 
									material.set_shader_parameter(\"radius\", randf_range(0.3, 1.0));
 | 
				
			||||||
				material.set_shader_parameter(\"attenuation\", randf_range(2.0, 5.0));
 | 
									material.set_shader_parameter(\"attenuation\", randf_range(2.0, 5.0));
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			\"kaleidoscope\":
 | 
								\"kaleidoscope\":
 | 
				
			||||||
				shaders.remove_at(shaders.find(shader, 0));
 | 
									if OS.is_debug_build():
 | 
				
			||||||
					print(\"kaleidoscope\")
 | 
										print(\"kaleidoscope\")
 | 
				
			||||||
 | 
									shaders.remove_at(shaders.find(shader, 0));
 | 
				
			||||||
 | 
									var segments: int = randi_range(3, 5);
 | 
				
			||||||
 | 
									while segments == 4:
 | 
				
			||||||
 | 
										print(\"Segments is 4, rerolling\")
 | 
				
			||||||
 | 
										segments = randi_range(3, 5);
 | 
				
			||||||
				material.set_shader_parameter(\"segments\", float(randi_range(3, 5)));
 | 
									material.set_shader_parameter(\"segments\", float(randi_range(3, 5)));
 | 
				
			||||||
				
 | 
									
 | 
				
			||||||
			\"pixelsort\":
 | 
								\"pixelsort\":
 | 
				
			||||||
				shaders.remove_at(shaders.find(shader, 0));
 | 
									if OS.is_debug_build():
 | 
				
			||||||
					print(\"pixelsort\")
 | 
										print(\"pixelsort\")
 | 
				
			||||||
				material.set_shader_parameter(\"sort\", randf_range(0.1, 2.6));
 | 
									shaders.remove_at(shaders.find(shader, 0));
 | 
				
			||||||
 | 
									material.set_shader_parameter(\"sort\", randf_range(0.1, 1.0));
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			_:
 | 
								_:
 | 
				
			||||||
 | 
									if OS.is_debug_build():
 | 
				
			||||||
					print(\"something else\")
 | 
										print(\"something else\")
 | 
				
			||||||
				pass
 | 
									pass
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,4 @@ func _ready() -> void:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func resize() -> void:
 | 
					func resize() -> void:
 | 
				
			||||||
	print("changed")
 | 
					 | 
				
			||||||
	print(get_tree().get_root().get_viewport().size)
 | 
					 | 
				
			||||||
	(get_parent() as SubViewport).size = get_tree().get_root().get_viewport().size;
 | 
						(get_parent() as SubViewport).size = get_tree().get_root().get_viewport().size;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										48
									
								
								scripts/intro.gd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								scripts/intro.gd
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,48 @@
 | 
				
			||||||
 | 
					extends Control
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var line_sound: AudioStream = preload("res://assets/line.wav");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var lines: Array[String] = [
 | 
				
			||||||
 | 
					"[code]piix4_smbus 00|00:0||0:14.0: SMBus Host Controller at 0xb00, revision 0[/code]\n",
 | 
				
			||||||
 | 
					"[code]piix4_smbus 00||00:0|_0:14.0: Using register 0x02 for SMBus port selection[/code]\n",
 | 
				
			||||||
 | 
					"[code]i2c: Successfully instantiated SPD at 0x50[/code]\n",
 | 
				
			||||||
 | 
					"[code]i2c: Successfully instantiated SPD at 0x51[/code]\n",
 | 
				
			||||||
 | 
					"[code]i2c: Successfully instantiated SPD at 0x52[/code]\n",
 | 
				
			||||||
 | 
					"[code]cryptd: max_cpu_qlen set to 1000[/code]\n",
 | 
				
			||||||
 | 
					"[code]null: receiving encrypted message. Decrypting![/code]\n",
 | 
				
			||||||
 | 
					"[code]null: Listen! The only way we can stop the AI now is to [error][/code]\n",
 | 
				
			||||||
 | 
					"[code]null: you're our only hope! There's an executable attached, use it to [error][/code]\n",
 | 
				
			||||||
 | 
					"[code]null: receiving remote attachment, saving to ~/antidote.bin[/code]\n",
 | 
				
			||||||
 | 
					"[code]piix4_smbus 0000:00:14.0: Auxiliary SMBus Host Controller at 0xb20[/code]\n",
 | 
				
			||||||
 | 
					"[code]sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver[/code]\n",
 | 
				
			||||||
 | 
					"[code]sp5100-tco sp5100-tco: Using 0xfeb00000 for watchdog MMIO address[/code]\n",
 | 
				
			||||||
 | 
					"[code]LOADING DEMO[pulse freq=1.0 color=#ffffff40 ease=-2.0]...[/pulse][/code]\n",
 | 
				
			||||||
 | 
					"[code]-------------------------------------[/code]\n",
 | 
				
			||||||
 | 
					"[code]|            AltParty '24               |[/code]\n",
 | 
				
			||||||
 | 
					"[code]-------------------------------------[/code]\n",
 | 
				
			||||||
 | 
					"\n",
 | 
				
			||||||
 | 
					"[code]Minihakkerit 2024[/code]\n",
 | 
				
			||||||
 | 
					"[code]Programming & Build tools: XTRA[/code]\n",
 | 
				
			||||||
 | 
					"[code]Programming & 3D: GorkaMorka[/code]\n",
 | 
				
			||||||
 | 
					"[code]Music & Planning: AUGI[/code]\n",
 | 
				
			||||||
 | 
					"[code]Spooling up firewall[pulse freq=1.0 color=#ffffff40 ease=-2.0]........[/pulse][/code]",
 | 
				
			||||||
 | 
					"[code] Done![/code]\n",
 | 
				
			||||||
 | 
					"[code]Hacking mainframe using secure nmap[pulse freq=1.0 color=#ffffff40 ease=-2.0]...[/pulse][/code]",
 | 
				
			||||||
 | 
					"[code] Done![/code]\n",
 | 
				
			||||||
 | 
					"[code]Fuel Cells at 50%.[/code]\n",
 | 
				
			||||||
 | 
					"[code]ECCOM operational.[/code]\n",
 | 
				
			||||||
 | 
					"[code]All systems online.[/code]\n",
 | 
				
			||||||
 | 
					"[code]Entry symbol 0x00007f5653fbcdb9 detected! Attaching[pulse freq=1.0 color=#ffffff40 ease=-2.0]...[/pulse][/code]",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _ready() -> void:
 | 
				
			||||||
 | 
						$AnimationPlayer.play("terminal");
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					func next_line() -> void:
 | 
				
			||||||
 | 
						var player: AudioStreamPlayer2D = AudioStreamPlayer2D.new();
 | 
				
			||||||
 | 
						player.connect("finished", func() -> void: player.queue_free());
 | 
				
			||||||
 | 
						player.stream = line_sound;
 | 
				
			||||||
 | 
						add_child(player);
 | 
				
			||||||
 | 
						player.play();
 | 
				
			||||||
 | 
						$Terminal.append_text(lines[0]);
 | 
				
			||||||
 | 
						lines.remove_at(0);
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
extends Manager
 | 
					extends Manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var scene1: PackedScene = preload("res://entities/test.tscn");
 | 
					var intro: PackedScene = preload("res://entities/Intro.tscn");
 | 
				
			||||||
var scene2: PackedScene = preload("res://entities/kaleido_scope.tscn");
 | 
					var scene2: PackedScene = preload("res://entities/kaleido_scope.tscn");
 | 
				
			||||||
var scene3: PackedScene = preload("res://entities/balls.tscn");
 | 
					var scene3: PackedScene = preload("res://entities/balls.tscn");
 | 
				
			||||||
var credits_scene: PackedScene = preload("res://entities/credits.tscn");
 | 
					var credits_scene: PackedScene = preload("res://entities/credits.tscn");
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@ var credits_scene: PackedScene = preload("res://entities/credits.tscn");
 | 
				
			||||||
# Called when the node enters the scene tree for the first time.
 | 
					# Called when the node enters the scene tree for the first time.
 | 
				
			||||||
func _ready() -> void:
 | 
					func _ready() -> void:
 | 
				
			||||||
	Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN);
 | 
						Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN);
 | 
				
			||||||
	register_scene(scene1);
 | 
						register_scene(intro);
 | 
				
			||||||
	register_scene(scene2);
 | 
						register_scene(scene2);
 | 
				
			||||||
	register_scene(scene3);
 | 
						register_scene(scene3);
 | 
				
			||||||
	register_scene(credits_scene);
 | 
						register_scene(credits_scene);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue