From 6c82554a6585362c35fb4fa7677cd774b0cac348 Mon Sep 17 00:00:00 2001 From: rnd1 Date: Wed, 18 Jan 2017 17:13:17 +0100 Subject: [PATCH] keyboard book editor/code loader --- commands.lua | 142 +++++++++++++++++++++++++-- init.lua | 200 +++++++++++++++++++++++++++++++++----- textures/000.png | Bin 0 -> 88 bytes textures/001.png | Bin 0 -> 125 bytes textures/002.png | Bin 0 -> 127 bytes textures/003.png | Bin 0 -> 110 bytes textures/004.png | Bin 0 -> 110 bytes textures/005.png | Bin 0 -> 117 bytes textures/006.png | Bin 0 -> 107 bytes textures/007.png | Bin 0 -> 101 bytes textures/008.png | Bin 0 -> 107 bytes textures/009.png | Bin 0 -> 104 bytes textures/010.png | Bin 0 -> 104 bytes textures/011.png | Bin 0 -> 110 bytes textures/012.png | Bin 0 -> 110 bytes textures/013.png | Bin 0 -> 110 bytes textures/014.png | Bin 0 -> 110 bytes textures/015.png | Bin 0 -> 125 bytes textures/016.png | Bin 0 -> 107 bytes textures/017.png | Bin 0 -> 107 bytes textures/018.png | Bin 0 -> 112 bytes textures/019.png | Bin 0 -> 98 bytes textures/020.png | Bin 0 -> 109 bytes textures/021.png | Bin 0 -> 126 bytes textures/022.png | Bin 0 -> 93 bytes textures/023.png | Bin 0 -> 119 bytes textures/024.png | Bin 0 -> 108 bytes textures/025.png | Bin 0 -> 110 bytes textures/026.png | Bin 0 -> 110 bytes textures/027.png | Bin 0 -> 109 bytes textures/028.png | Bin 0 -> 111 bytes textures/029.png | Bin 0 -> 106 bytes textures/030.png | Bin 0 -> 107 bytes textures/031.png | Bin 0 -> 107 bytes textures/032.png | Bin 0 -> 88 bytes textures/033.png | Bin 0 -> 98 bytes textures/034.png | Bin 0 -> 98 bytes textures/035.png | Bin 0 -> 108 bytes textures/036.png | Bin 0 -> 123 bytes textures/037.png | Bin 0 -> 119 bytes textures/038.png | Bin 0 -> 123 bytes textures/039.png | Bin 0 -> 97 bytes textures/040.png | Bin 0 -> 113 bytes textures/041.png | Bin 0 -> 114 bytes textures/042.png | Bin 0 -> 107 bytes textures/043.png | Bin 0 -> 102 bytes textures/044.png | Bin 0 -> 91 bytes textures/045.png | Bin 0 -> 95 bytes textures/046.png | Bin 0 -> 95 bytes textures/047.png | Bin 0 -> 109 bytes textures/048.png | Bin 0 -> 122 bytes textures/049.png | Bin 0 -> 109 bytes textures/050.png | Bin 0 -> 125 bytes textures/051.png | Bin 0 -> 122 bytes textures/052.png | Bin 0 -> 114 bytes textures/053.png | Bin 0 -> 118 bytes textures/054.png | Bin 0 -> 119 bytes textures/055.png | Bin 0 -> 108 bytes textures/056.png | Bin 0 -> 109 bytes textures/057.png | Bin 0 -> 117 bytes textures/058.png | Bin 0 -> 100 bytes textures/059.png | Bin 0 -> 98 bytes textures/060.png | Bin 0 -> 116 bytes textures/061.png | Bin 0 -> 98 bytes textures/062.png | Bin 0 -> 116 bytes textures/063.png | Bin 0 -> 116 bytes textures/064.png | Bin 0 -> 118 bytes textures/065.png | Bin 0 -> 110 bytes textures/066.png | Bin 0 -> 112 bytes textures/067.png | Bin 0 -> 117 bytes textures/068.png | Bin 0 -> 106 bytes textures/069.png | Bin 0 -> 107 bytes textures/070.png | Bin 0 -> 104 bytes textures/071.png | Bin 0 -> 115 bytes textures/072.png | Bin 0 -> 103 bytes textures/073.png | Bin 0 -> 105 bytes textures/074.png | Bin 0 -> 104 bytes textures/075.png | Bin 0 -> 112 bytes textures/076.png | Bin 0 -> 96 bytes textures/077.png | Bin 0 -> 109 bytes textures/078.png | Bin 0 -> 110 bytes textures/079.png | Bin 0 -> 111 bytes textures/080.png | Bin 0 -> 108 bytes textures/081.png | Bin 0 -> 114 bytes textures/082.png | Bin 0 -> 109 bytes textures/083.png | Bin 0 -> 121 bytes textures/084.png | Bin 0 -> 100 bytes textures/085.png | Bin 0 -> 101 bytes textures/086.png | Bin 0 -> 104 bytes textures/087.png | Bin 0 -> 108 bytes textures/088.png | Bin 0 -> 116 bytes textures/089.png | Bin 0 -> 103 bytes textures/090.png | Bin 0 -> 114 bytes textures/091.png | Bin 0 -> 103 bytes textures/092.png | Bin 0 -> 109 bytes textures/093.png | Bin 0 -> 101 bytes textures/094.png | Bin 0 -> 111 bytes textures/095.png | Bin 0 -> 92 bytes textures/096.png | Bin 0 -> 100 bytes textures/097.png | Bin 0 -> 112 bytes textures/098.png | Bin 0 -> 113 bytes textures/099.png | Bin 0 -> 111 bytes textures/100.png | Bin 0 -> 113 bytes textures/101.png | Bin 0 -> 114 bytes textures/102.png | Bin 0 -> 105 bytes textures/103.png | Bin 0 -> 108 bytes textures/104.png | Bin 0 -> 108 bytes textures/105.png | Bin 0 -> 102 bytes textures/106.png | Bin 0 -> 108 bytes textures/107.png | Bin 0 -> 114 bytes textures/108.png | Bin 0 -> 100 bytes textures/109.png | Bin 0 -> 111 bytes textures/110.png | Bin 0 -> 104 bytes textures/111.png | Bin 0 -> 104 bytes textures/112.png | Bin 0 -> 115 bytes textures/113.png | Bin 0 -> 113 bytes textures/114.png | Bin 0 -> 108 bytes textures/115.png | Bin 0 -> 116 bytes textures/116.png | Bin 0 -> 105 bytes textures/117.png | Bin 0 -> 105 bytes textures/118.png | Bin 0 -> 109 bytes textures/119.png | Bin 0 -> 108 bytes textures/120.png | Bin 0 -> 122 bytes textures/121.png | Bin 0 -> 110 bytes textures/122.png | Bin 0 -> 117 bytes textures/123.png | Bin 0 -> 114 bytes textures/124.png | Bin 0 -> 102 bytes textures/125.png | Bin 0 -> 112 bytes textures/126.png | Bin 0 -> 105 bytes textures/127.png | Bin 0 -> 111 bytes textures/128.png | Bin 0 -> 110 bytes textures/129.png | Bin 0 -> 109 bytes textures/130.png | Bin 0 -> 128 bytes textures/131.png | Bin 0 -> 94 bytes textures/132.png | Bin 0 -> 101 bytes textures/133.png | Bin 0 -> 105 bytes textures/134.png | Bin 0 -> 136 bytes textures/135.png | Bin 0 -> 114 bytes textures/136.png | Bin 0 -> 117 bytes textures/137.png | Bin 0 -> 121 bytes textures/138.png | Bin 0 -> 104 bytes textures/139.png | Bin 0 -> 112 bytes textures/140.png | Bin 0 -> 121 bytes textures/141.png | Bin 0 -> 123 bytes textures/142.png | Bin 0 -> 125 bytes textures/143.png | Bin 0 -> 123 bytes textures/144.png | Bin 0 -> 98 bytes textures/145.png | Bin 0 -> 112 bytes textures/146.png | Bin 0 -> 112 bytes textures/147.png | Bin 0 -> 113 bytes textures/148.png | Bin 0 -> 117 bytes textures/149.png | Bin 0 -> 109 bytes textures/150.png | Bin 0 -> 104 bytes textures/151.png | Bin 0 -> 102 bytes textures/152.png | Bin 0 -> 113 bytes textures/153.png | Bin 0 -> 113 bytes textures/154.png | Bin 0 -> 112 bytes textures/155.png | Bin 0 -> 111 bytes textures/156.png | Bin 0 -> 122 bytes textures/157.png | Bin 0 -> 116 bytes textures/158.png | Bin 0 -> 103 bytes textures/159.png | Bin 0 -> 114 bytes textures/160.png | Bin 0 -> 109 bytes textures/161.png | Bin 0 -> 110 bytes textures/162.png | Bin 0 -> 110 bytes textures/163.png | Bin 0 -> 106 bytes textures/164.png | Bin 0 -> 130 bytes textures/165.png | Bin 0 -> 120 bytes textures/166.png | Bin 0 -> 119 bytes textures/167.png | Bin 0 -> 120 bytes textures/168.png | Bin 0 -> 121 bytes textures/169.png | Bin 0 -> 126 bytes textures/170.png | Bin 0 -> 99 bytes textures/171.png | Bin 0 -> 104 bytes textures/172.png | Bin 0 -> 109 bytes textures/173.png | Bin 0 -> 111 bytes textures/174.png | Bin 0 -> 111 bytes textures/175.png | Bin 0 -> 116 bytes textures/176.png | Bin 0 -> 102 bytes textures/177.png | Bin 0 -> 105 bytes textures/178.png | Bin 0 -> 114 bytes textures/179.png | Bin 0 -> 93 bytes textures/180.png | Bin 0 -> 100 bytes textures/181.png | Bin 0 -> 102 bytes textures/182.png | Bin 0 -> 100 bytes textures/183.png | Bin 0 -> 97 bytes textures/184.png | Bin 0 -> 102 bytes textures/185.png | Bin 0 -> 107 bytes textures/186.png | Bin 0 -> 93 bytes textures/187.png | Bin 0 -> 103 bytes textures/188.png | Bin 0 -> 112 bytes textures/189.png | Bin 0 -> 102 bytes textures/190.png | Bin 0 -> 104 bytes textures/191.png | Bin 0 -> 96 bytes textures/192.png | Bin 0 -> 99 bytes textures/193.png | Bin 0 -> 106 bytes textures/194.png | Bin 0 -> 102 bytes textures/195.png | Bin 0 -> 99 bytes textures/196.png | Bin 0 -> 95 bytes textures/197.png | Bin 0 -> 101 bytes textures/198.png | Bin 0 -> 101 bytes textures/199.png | Bin 0 -> 99 bytes textures/200.png | Bin 0 -> 104 bytes textures/201.png | Bin 0 -> 102 bytes textures/202.png | Bin 0 -> 116 bytes textures/203.png | Bin 0 -> 110 bytes textures/204.png | Bin 0 -> 105 bytes textures/205.png | Bin 0 -> 99 bytes textures/206.png | Bin 0 -> 114 bytes textures/207.png | Bin 0 -> 110 bytes textures/208.png | Bin 0 -> 103 bytes textures/209.png | Bin 0 -> 105 bytes textures/210.png | Bin 0 -> 102 bytes textures/211.png | Bin 0 -> 99 bytes textures/212.png | Bin 0 -> 104 bytes textures/213.png | Bin 0 -> 101 bytes textures/214.png | Bin 0 -> 100 bytes textures/215.png | Bin 0 -> 100 bytes textures/216.png | Bin 0 -> 104 bytes textures/217.png | Bin 0 -> 101 bytes textures/218.png | Bin 0 -> 95 bytes textures/219.png | Bin 0 -> 86 bytes textures/220.png | Bin 0 -> 92 bytes textures/221.png | Bin 0 -> 90 bytes textures/222.png | Bin 0 -> 91 bytes textures/223.png | Bin 0 -> 94 bytes textures/224.png | Bin 0 -> 97 bytes textures/225.png | Bin 0 -> 107 bytes textures/226.png | Bin 0 -> 116 bytes textures/227.png | Bin 0 -> 96 bytes textures/228.png | Bin 0 -> 103 bytes textures/229.png | Bin 0 -> 102 bytes textures/230.png | Bin 0 -> 105 bytes textures/231.png | Bin 0 -> 107 bytes textures/232.png | Bin 0 -> 106 bytes textures/233.png | Bin 0 -> 109 bytes textures/234.png | Bin 0 -> 88 bytes textures/235.png | Bin 0 -> 88 bytes textures/236.png | Bin 0 -> 88 bytes textures/237.png | Bin 0 -> 88 bytes textures/238.png | Bin 0 -> 88 bytes textures/239.png | Bin 0 -> 88 bytes textures/240.png | Bin 0 -> 104 bytes textures/241.png | Bin 0 -> 112 bytes textures/242.png | Bin 0 -> 118 bytes textures/243.png | Bin 0 -> 121 bytes textures/244.png | Bin 0 -> 88 bytes textures/245.png | Bin 0 -> 88 bytes textures/246.png | Bin 0 -> 108 bytes textures/247.png | Bin 0 -> 113 bytes textures/248.png | Bin 0 -> 106 bytes textures/249.png | Bin 0 -> 94 bytes textures/250.png | Bin 0 -> 94 bytes textures/251.png | Bin 0 -> 111 bytes textures/252.png | Bin 0 -> 101 bytes textures/253.png | Bin 0 -> 110 bytes textures/254.png | Bin 0 -> 95 bytes textures/255.png | Bin 0 -> 88 bytes textures/black_screen.png | Bin 0 -> 203 bytes textures/robot_button.png | Bin 0 -> 974 bytes textures/white_screen.png | Bin 0 -> 108 bytes 261 files changed, 312 insertions(+), 30 deletions(-) create mode 100644 textures/000.png create mode 100644 textures/001.png create mode 100644 textures/002.png create mode 100644 textures/003.png create mode 100644 textures/004.png create mode 100644 textures/005.png create mode 100644 textures/006.png create mode 100644 textures/007.png create mode 100644 textures/008.png create mode 100644 textures/009.png create mode 100644 textures/010.png create mode 100644 textures/011.png create mode 100644 textures/012.png create mode 100644 textures/013.png create mode 100644 textures/014.png create mode 100644 textures/015.png create mode 100644 textures/016.png create mode 100644 textures/017.png create mode 100644 textures/018.png create mode 100644 textures/019.png create mode 100644 textures/020.png create mode 100644 textures/021.png create mode 100644 textures/022.png create mode 100644 textures/023.png create mode 100644 textures/024.png create mode 100644 textures/025.png create mode 100644 textures/026.png create mode 100644 textures/027.png create mode 100644 textures/028.png create mode 100644 textures/029.png create mode 100644 textures/030.png create mode 100644 textures/031.png create mode 100644 textures/032.png create mode 100644 textures/033.png create mode 100644 textures/034.png create mode 100644 textures/035.png create mode 100644 textures/036.png create mode 100644 textures/037.png create mode 100644 textures/038.png create mode 100644 textures/039.png create mode 100644 textures/040.png create mode 100644 textures/041.png create mode 100644 textures/042.png create mode 100644 textures/043.png create mode 100644 textures/044.png create mode 100644 textures/045.png create mode 100644 textures/046.png create mode 100644 textures/047.png create mode 100644 textures/048.png create mode 100644 textures/049.png create mode 100644 textures/050.png create mode 100644 textures/051.png create mode 100644 textures/052.png create mode 100644 textures/053.png create mode 100644 textures/054.png create mode 100644 textures/055.png create mode 100644 textures/056.png create mode 100644 textures/057.png create mode 100644 textures/058.png create mode 100644 textures/059.png create mode 100644 textures/060.png create mode 100644 textures/061.png create mode 100644 textures/062.png create mode 100644 textures/063.png create mode 100644 textures/064.png create mode 100644 textures/065.png create mode 100644 textures/066.png create mode 100644 textures/067.png create mode 100644 textures/068.png create mode 100644 textures/069.png create mode 100644 textures/070.png create mode 100644 textures/071.png create mode 100644 textures/072.png create mode 100644 textures/073.png create mode 100644 textures/074.png create mode 100644 textures/075.png create mode 100644 textures/076.png create mode 100644 textures/077.png create mode 100644 textures/078.png create mode 100644 textures/079.png create mode 100644 textures/080.png create mode 100644 textures/081.png create mode 100644 textures/082.png create mode 100644 textures/083.png create mode 100644 textures/084.png create mode 100644 textures/085.png create mode 100644 textures/086.png create mode 100644 textures/087.png create mode 100644 textures/088.png create mode 100644 textures/089.png create mode 100644 textures/090.png create mode 100644 textures/091.png create mode 100644 textures/092.png create mode 100644 textures/093.png create mode 100644 textures/094.png create mode 100644 textures/095.png create mode 100644 textures/096.png create mode 100644 textures/097.png create mode 100644 textures/098.png create mode 100644 textures/099.png create mode 100644 textures/100.png create mode 100644 textures/101.png create mode 100644 textures/102.png create mode 100644 textures/103.png create mode 100644 textures/104.png create mode 100644 textures/105.png create mode 100644 textures/106.png create mode 100644 textures/107.png create mode 100644 textures/108.png create mode 100644 textures/109.png create mode 100644 textures/110.png create mode 100644 textures/111.png create mode 100644 textures/112.png create mode 100644 textures/113.png create mode 100644 textures/114.png create mode 100644 textures/115.png create mode 100644 textures/116.png create mode 100644 textures/117.png create mode 100644 textures/118.png create mode 100644 textures/119.png create mode 100644 textures/120.png create mode 100644 textures/121.png create mode 100644 textures/122.png create mode 100644 textures/123.png create mode 100644 textures/124.png create mode 100644 textures/125.png create mode 100644 textures/126.png create mode 100644 textures/127.png create mode 100644 textures/128.png create mode 100644 textures/129.png create mode 100644 textures/130.png create mode 100644 textures/131.png create mode 100644 textures/132.png create mode 100644 textures/133.png create mode 100644 textures/134.png create mode 100644 textures/135.png create mode 100644 textures/136.png create mode 100644 textures/137.png create mode 100644 textures/138.png create mode 100644 textures/139.png create mode 100644 textures/140.png create mode 100644 textures/141.png create mode 100644 textures/142.png create mode 100644 textures/143.png create mode 100644 textures/144.png create mode 100644 textures/145.png create mode 100644 textures/146.png create mode 100644 textures/147.png create mode 100644 textures/148.png create mode 100644 textures/149.png create mode 100644 textures/150.png create mode 100644 textures/151.png create mode 100644 textures/152.png create mode 100644 textures/153.png create mode 100644 textures/154.png create mode 100644 textures/155.png create mode 100644 textures/156.png create mode 100644 textures/157.png create mode 100644 textures/158.png create mode 100644 textures/159.png create mode 100644 textures/160.png create mode 100644 textures/161.png create mode 100644 textures/162.png create mode 100644 textures/163.png create mode 100644 textures/164.png create mode 100644 textures/165.png create mode 100644 textures/166.png create mode 100644 textures/167.png create mode 100644 textures/168.png create mode 100644 textures/169.png create mode 100644 textures/170.png create mode 100644 textures/171.png create mode 100644 textures/172.png create mode 100644 textures/173.png create mode 100644 textures/174.png create mode 100644 textures/175.png create mode 100644 textures/176.png create mode 100644 textures/177.png create mode 100644 textures/178.png create mode 100644 textures/179.png create mode 100644 textures/180.png create mode 100644 textures/181.png create mode 100644 textures/182.png create mode 100644 textures/183.png create mode 100644 textures/184.png create mode 100644 textures/185.png create mode 100644 textures/186.png create mode 100644 textures/187.png create mode 100644 textures/188.png create mode 100644 textures/189.png create mode 100644 textures/190.png create mode 100644 textures/191.png create mode 100644 textures/192.png create mode 100644 textures/193.png create mode 100644 textures/194.png create mode 100644 textures/195.png create mode 100644 textures/196.png create mode 100644 textures/197.png create mode 100644 textures/198.png create mode 100644 textures/199.png create mode 100644 textures/200.png create mode 100644 textures/201.png create mode 100644 textures/202.png create mode 100644 textures/203.png create mode 100644 textures/204.png create mode 100644 textures/205.png create mode 100644 textures/206.png create mode 100644 textures/207.png create mode 100644 textures/208.png create mode 100644 textures/209.png create mode 100644 textures/210.png create mode 100644 textures/211.png create mode 100644 textures/212.png create mode 100644 textures/213.png create mode 100644 textures/214.png create mode 100644 textures/215.png create mode 100644 textures/216.png create mode 100644 textures/217.png create mode 100644 textures/218.png create mode 100644 textures/219.png create mode 100644 textures/220.png create mode 100644 textures/221.png create mode 100644 textures/222.png create mode 100644 textures/223.png create mode 100644 textures/224.png create mode 100644 textures/225.png create mode 100644 textures/226.png create mode 100644 textures/227.png create mode 100644 textures/228.png create mode 100644 textures/229.png create mode 100644 textures/230.png create mode 100644 textures/231.png create mode 100644 textures/232.png create mode 100644 textures/233.png create mode 100644 textures/234.png create mode 100644 textures/235.png create mode 100644 textures/236.png create mode 100644 textures/237.png create mode 100644 textures/238.png create mode 100644 textures/239.png create mode 100644 textures/240.png create mode 100644 textures/241.png create mode 100644 textures/242.png create mode 100644 textures/243.png create mode 100644 textures/244.png create mode 100644 textures/245.png create mode 100644 textures/246.png create mode 100644 textures/247.png create mode 100644 textures/248.png create mode 100644 textures/249.png create mode 100644 textures/250.png create mode 100644 textures/251.png create mode 100644 textures/252.png create mode 100644 textures/253.png create mode 100644 textures/254.png create mode 100644 textures/255.png create mode 100644 textures/black_screen.png create mode 100644 textures/robot_button.png create mode 100644 textures/white_screen.png diff --git a/commands.lua b/commands.lua index 3d7dbac..88ea469 100644 --- a/commands.lua +++ b/commands.lua @@ -89,6 +89,7 @@ basic_robot.commands.dig = function(name,dir) local obj = basic_robot.data[name].obj; local pos = pos_in_dir(obj, dir) + local luaent = obj:get_luaentity(); if minetest.is_protected(pos,luaent.owner) then return false end @@ -103,13 +104,12 @@ basic_robot.commands.dig = function(name,dir) basic_robot.give_drops(nodename, inv); minetest.set_node(pos,{name = "air"}) - --DS: sounds local sounds = minetest.registered_nodes[nodename].sounds if sounds then local sound = sounds.dug if sound then - minetest.sound_play(sound,{object=obj, max_hear_distance = 10}) + minetest.sound_play(sound,{pos=pos, max_hear_distance = 10}) end end @@ -227,9 +227,6 @@ basic_robot.commands.pickup = function(r,name) return true end - - - basic_robot.commands.read_node = function(name,dir) local obj = basic_robot.data[name].obj; @@ -276,7 +273,7 @@ basic_robot.commands.place = function(name,nodename, dir) if sounds then local sound = sounds.place if sound then - minetest.sound_play(sound,{object=obj, max_hear_distance = 10}) + minetest.sound_play(sound,{pos=pos, max_hear_distance = 10}) end end end @@ -339,7 +336,7 @@ end basic_robot.commands.read_book = function (itemstack) -- itemstack should contain book local data = minetest.deserialize(itemstack:get_metadata()) if data then - return data.text; + return data.title,data.text; else return nil end @@ -400,3 +397,134 @@ basic_robot.give_drops = function(nodename, inv) -- gives apropriate drops when end +local render_text = function(text,linesize) + local count = math.floor(string.len(text)/linesize)+1; + local width = 18; local height = 24; + local tex = ""; + local y = 0; local x=0; + for i=1,string.len(text) do + local cb = string.byte(text,i); + local c = ""; + if cb == 10 or cb == 13 then + y=y+1; x=0 + else + c = string.format("%03d",cb)..".png" + tex = tex .. ":" .. (x*width) .. "," .. (y*height) .. "=" .. c; + if x==linesize-1 then y=y+1 x=0 else x=x+1 end + end + end + local background = "(black_screen.png^[resize:"..(linesize*width).. "x".. (linesize*height) ..")"; + tex = "([combine:"..(linesize*width).."x"..(linesize*height)..tex..")"; + tex = background .. "^" .. tex; + return tex; + end + text = ""; + +basic_robot.commands.display_text = function(obj,text,linesize,size) + if not linesize then linesize = 20 end + if not size then size = 1 end + if string.len(text)>linesize*linesize then text = string.sub(text,1,linesize*linesize) end + local tex = render_text(text,linesize); + + if string.len(tex)<60000 then + obj:set_properties({textures={"arrow.png","basic_machine_side.png",tex,"basic_machine_side.png","basic_machine_side.png","basic_machine_side.png"},visual_size = {x=size,y=size}}) + else + self.label("error: string too long") + end +end + + +basic_robot.commands.activate = function(name,mode, dir) + local obj = basic_robot.data[name].obj; + local tpos = pos_in_dir(obj, dir); -- position of target block in front + + local node = minetest.get_node(tpos); + local table = minetest.registered_nodes[node.name]; + if table and table.mesecons and table.mesecons.effector then + else + return + end -- error + + local effector=table.mesecons.effector; + + if mode > 0 then + if not effector.action_on then return end + effector.action_on(tpos,node,16) + elseif mode<0 then + if not effector.action_off then return end + effector.action_off(tpos,node,16) + end +end + + +local register_robot_button = function(R,G,B,type) +minetest.register_node("basic_robot:button"..R..G..B, + { + description = "robot button", + tiles = {"robot_button.png^[colorize:#"..R..G..B..":180"}, + is_ground_content = false, + groups = {cracky=3}, + on_punch = function(pos, node, player) + local name = player:get_player_name(); if name==nil then return end + local round = math.floor; + local r = 20; local ry = 2*r; + local ppos = {x=round(pos.x/r+0.5)*r,y=round(pos.y/ry+0.5)*ry+1,z=round(pos.z/r+0.5)*r}; + local meta = minetest.get_meta(ppos); + local name = meta:get_string("name"); + local data = basic_robot.data[name]; + if data then data.keyboard = {x=pos.x,y=pos.y,z=pos.z, puncher = player:get_player_name(), type = type} end + end + }) +end + +register_robot_button("FF","FF","FF",1); +register_robot_button("80","80","80",2); +register_robot_button("FF","80","80",3); +register_robot_button("80","FF","80",4); +register_robot_button("80","80","FF",5); +register_robot_button("FF","FF","80",6); + + + +-- interactive button for robot: place robot on top of protector to intercept events + +basic_robot.commands.keyboard = { + + get = function(name) + local data = basic_robot.data[name]; + if data.keyboard then + local keyboard = data.keyboard; + local event = {x=keyboard.x,y=keyboard.y,z=keyboard.z, puncher = keyboard.puncher, type = keyboard.type}; + data.keyboard = nil; + return event + else + return nil + end + end, + + set = function(spos,pos,type) + + if math.abs(pos.x-spos.x)>10 or math.abs(pos.y-spos.y)>10 or math.abs(pos.z-spos.z)>10 then return false end + local nodename; + if type == 0 then + nodename = "air" + elseif type == 1 then + nodename = "basic_robot:buttonFFFFFF"; + elseif type == 2 then + nodename = "basic_robot:button808080"; + elseif type == 3 then + nodename = "basic_robot:buttonFF8080"; + elseif type == 4 then + nodename = "basic_robot:button80FF80"; + elseif type == 5 then + nodename = "basic_robot:button8080FF"; + elseif type == 6 then + nodename = "basic_robot:buttonFFFF80"; + end + + minetest.swap_node(pos, {name = nodename}) + return true + + end, + +} \ No newline at end of file diff --git a/init.lua b/init.lua index d509200..a6ce999 100644 --- a/init.lua +++ b/init.lua @@ -13,7 +13,7 @@ basic_robot.maxdig = 1; -- how many digs allowed per run, 0 = unlimited -basic_robot.version = "12/21a"; +basic_robot.version = "01/18a"; basic_robot.data = {}; -- stores all robot data --[[ @@ -100,6 +100,16 @@ function getSandboxEnv (name) self = function(itemname, inventory) return commands.check_inventory(name,itemname, inventory,0) end, }, + activate = { + left = function(mode) return commands.activate(name,mode, 1) end, + right = function(mode) return commands.activate(name,mode, 2) end, + forward = function(mode) return commands.activate(name,mode, 3) end, + backward = function(mode) return commands.activate(name,mode, 4) end, + down = function(mode) return commands.activate(name,mode, 6) end, + up = function(mode) return commands.activate(name,mode, 5) end, + forward_down = function(mode) return commands.activate(name,mode, 7) end, + }, + pickup = function(r) -- pick up items around robot commands.pickup(r, name); end, @@ -107,7 +117,7 @@ function getSandboxEnv (name) self = { pos = function() return basic_robot.data[name].obj:getpos() end, - spawnpos = function() return basic_robot.data[name].spawnpos end, + spawnpos = function() local pos = basic_robot.data[name].spawnpos; return {x=pos.x,y=pos.y,z=pos.z} end, name = function() return name end, viewdir = function() local yaw = basic_robot.data[name].obj:getyaw(); return {x=math.cos(yaw), y = 0, z=math.sin(yaw)} end, @@ -195,6 +205,17 @@ function getSandboxEnv (name) obj:set_properties({nametag = "[" .. name .. "] " .. text}); end, + display_text = function(text,linesize,size) + local obj = basic_robot.data[name].obj; + commands.display_text(obj,text,linesize,size) + end, + + }, + + keyboard = { + get = function() return commands.keyboard.get(name) end, + set = function(pos,type) return commands.keyboard.set(basic_robot.data[name].spawnpos,pos,type) end, + read = function(pos) return minetest.get_node(pos).name end, }, find_nodes = @@ -249,8 +270,8 @@ function getSandboxEnv (name) right = function(text) return commands.write_text(name,2,text) end, forward = function(text) return commands.write_text(name,3,text) end, backward = function(text) return commands.write_text(name,4,text) end, - down = function(text) return commands.write_text(name,5,text) end, - up = function(text) return commands.write_text(name,6,text) end, + down = function(text) return commands.write_text(name,6,text) end, + up = function(text) return commands.write_text(name,5,text) end, }, say = function(text) @@ -498,7 +519,6 @@ local function preprocess_code(script) end end - i2=string.find (script, "goto ", i1) -- fix goto OK if i2 then if not is_inside_string(i2,script) then @@ -516,7 +536,6 @@ end local function CompileCode ( script ) - --minetest.chat_send_all(script) --if true then return nil, "" end @@ -593,8 +612,8 @@ local robot_spawner_update_form = function (pos, mode) if mode ~= 1 then -- when placed form = - "size[9.5,6]" .. -- width, height - "textarea[1.25,-0.25;8.75,7.6;code;;".. code.."]".. + "size[9.5,8]" .. -- width, height + "textarea[1.25,-0.25;8.75,9.8;code;;".. code.."]".. "button_exit[-0.25,-0.25;1.25,1;OK;SAVE]".. "button_exit[-0.25, 0.75;1.25,1;spawn;START]".. "button[-0.25, 1.75;1.25,1;despawn;STOP]".. @@ -605,8 +624,8 @@ local robot_spawner_update_form = function (pos, mode) else -- when robot clicked form = - "size[9.5,6]" .. -- width, height - "textarea[1.25,-0.25;8.75,7.6;code;;".. code.."]".. + "size[9.5,8]" .. -- width, height + "textarea[1.25,-0.25;8.75,9.8;code;;".. code.."]".. "button_exit[-0.25,-0.25;1.25,1;OK;SAVE]".. "button[-0.25, 1.75;1.25,1;despawn;STOP]".. "button[-0.25, 3.6;1.25,1;inventory;storage]".. @@ -685,7 +704,7 @@ minetest.register_entity("basic_robot:robot",{ local meta = minetest.get_meta(data.spawnpos); if meta then self.code = meta:get_string("code") end -- remember code if not self.code or self.code == "" then - minetest.chat_send_player(self.owner, "#ROBOT INIT: no code found") + minetest.chat_send_player(self.owner, "#ROBOT INIT: no code found") self.object:remove(); end @@ -749,7 +768,7 @@ minetest.register_entity("basic_robot:robot",{ local text = minetest.formspec_escape(self.code); local form = robot_spawner_update_form(self.spawnpos,1); - minetest.show_formspec(clicker:get_player_name(), "robot_worker_" .. self.name, form); -- yyy + minetest.show_formspec(clicker:get_player_name(), "robot_worker_" .. self.name, form); end, }) @@ -788,6 +807,77 @@ local spawn_robot = function(pos,node,ttl) local id = meta:get_int("id"); local name = owner..id; + + if id == 0 then -- just compile code and run it, no robot spawn + local codechange = false; + if meta:get_int("codechange") == 1 then + meta:set_int("codechange",0); + codechange = true; + end + -- compile code & run it + + local err; + local data = basic_robot.data[name]; + if codechange or (not data) then + basic_robot.data[name] = {}; data = basic_robot.data[name]; + meta:set_string("infotext",minetest.get_gametime().. " code changed ") + if meta:get_int("admin") == 1 then data.isadmin = 1 end + + if not basic_robot.data[name].obj then + --create virtual robot that reports position and other properties + local obj = {}; + function obj:getpos() return {x=pos.x,y=pos.y,z=pos.z} end + function obj:getyaw() return 0 end + function obj:get_luaentity() + local luaent = {}; + luaent.owner = owner + luaent.spawnpos = {x=pos.x,y=pos.y-1,z=pos.z}; + return luaent + end + function obj:remove() end + + basic_robot.data[name].obj = obj; + end + end + + + if not data.bytecode then + local script = meta:get_string("code"); + + if data.isadmin~=1 then + err = check_code(script); + script = preprocess_code(script); + end + if err then + meta:set_string("infotext","#CODE CHECK ERROR : " .. err); + return + end + + local bytecode, err = loadstring( script ) + if err then + meta:set_string("infotext","#COMPILE ERROR : " .. err) + return + end + data.bytecode = bytecode; + end + + --sandbox init + if not data.sandbox then data.sandbox = getSandboxEnv (name) end + + -- actual code run process + data.ccounter = 0;data.digcount = 1; + + setfenv(data.bytecode, data.sandbox ) + + local Result, err = pcall( data.bytecode ) + if err then + meta:set_string("infotext","#RUN ERROR : " .. err) + return + end + return + end + + -- if robot already exists do nothing if basic_robot.data[name] and basic_robot.data[name].obj then minetest.chat_send_player(owner,"#ROBOT: ".. name .. " already active, removing ") @@ -826,7 +916,6 @@ local spawn_robot = function(pos,node,ttl) if err then minetest.chat_send_player(self.owner,"#ROBOT CODE COMPILATION ERROR : " .. err) self.running = 0; -- stop execution - self.object:remove(); basic_robot.data[self.name].obj = nil; return @@ -864,7 +953,8 @@ local despawn_robot = function(pos) -- spawn position on top pos.y=pos.y+1; local owner = meta:get_string("owner") - local id = meta:get_int("id"); + local id = meta:get_int("id"); + if id == 0 then meta:set_int("codechange",1) return end local name = owner..id; -- if robot already exists remove it @@ -898,18 +988,19 @@ local on_receive_robot_form = function(pos, formname, fields, sender) return end end - meta:set_string("code", code) + meta:set_string("code", code); meta:set_int("codechange",1) end if fields.id then local id = math.floor(tonumber(fields.id) or 1); local owner = meta:get_string("owner") if not basic_robot.ids[owner] then setupid(owner) end - if id<1 or id>basic_robot.ids[owner].maxid then + if id<0 or id>basic_robot.ids[owner].maxid then local privs = minetest.get_player_privs(name); if not privs.privs then return end end meta:set_int("id",id) -- set active id for spawner + meta:set_string("name", owner..id) end robot_spawner_update_form(pos); @@ -929,11 +1020,12 @@ local on_receive_robot_form = function(pos, formname, fields, sender) "dig.direction()\nplace.direction(\"default:dirt\")\nread_node.direction() tells you names of nodes\n".. "insert.direction(item, inventory) inserts item from robot inventory to target inventory\n".. "check_inventory.direction(itemname, inventory) looks at node and returns false/true, direction can be self\n".. + "activate.direction(mode) activates target block\n".. "pickup(r) picks up all items around robot in radius r<8\n".. "take.direction(item, inventory) takes item from target inventory into robot inventory\n".. "read_text.direction(stringname) reads text of signs, chests and other blocks, optional stringname for other meta\n".. "write_text.direction(text) writes text to target block as infotext\n".. - " **BOOKS/CODE\nbook.read(i) returns contents of book at i-th position in library \nbook.write(i,title,text) writes book at i-th position at spawner library\n".. + " **BOOKS/CODE\ntitle,text=book.read(i) returns title,contents of book at i-th position in library \nbook.write(i,title,text) writes book at i-th position at spawner library\n".. "code.run(text) compiles and runs the code in sandbox\n".. "code.set(text) replaces current bytecode of robot\n".. "find_nodes(\"default:dirt\",3) is true if node can be found at radius 3 around robot, otherwise false\n".. @@ -957,7 +1049,12 @@ local on_receive_robot_form = function(pos, formname, fields, sender) "self.fire(speed, pitch,gravity) fires a projectile from robot\n".. "self.fire_pos() returns last hit position\n".. "self.label(text) changes robot label\n".. - "rom is aditional table that can store persistent data, like rom.x=1\n"; + "self.display_text(text,linesize,size) displays text instead of robot face\n".. + "rom is aditional table that can store persistent data, like rom.x=1\n".. + " **KEYBOARD : place spawner at coordinates (20i,40j+1,20k) to monitor events\n".. + "keyboard.get() returns table {x=..,y=..,z=..,puncher = .. , type = .. } for keyboard event\n".. + "keyboard.set(pos,type) set key at pos of type 0=air, 1..6, limited to range 10 around\n".. + "keyboard.read(pos) return node name at pos\n"; text = minetest.formspec_escape(text); @@ -966,7 +1063,7 @@ local on_receive_robot_form = function(pos, formname, fields, sender) --textlist[X,Y;W,H;name;listelem 1,listelem 2,...,listelem n] local list = ""; for word in string.gmatch(text, "(.-)\r?\n+") do list = list .. word .. ", " end - local form = "size [8,8] textlist[-0.25,-0.25;8.25,8.5;help;" .. list .. "]" + local form = "size [10,8] textlist[-0.25,-0.25;10.25,8.5;help;" .. list .. "]" minetest.show_formspec(sender:get_player_name(), "robot_help", form); return @@ -1146,9 +1243,14 @@ minetest.register_on_player_receive_fields( local libpos = {x=tonumber(words[1] or spos.x),y=tonumber(words[2] or spos.y),z=tonumber(words[3] or spos.z)}; local inv = minetest.get_meta(libpos):get_inventory();local itemstack = inv:get_stack("library", sel); if itemstack then - local text = basic_robot.commands.read_book(itemstack) or ""; - local form = "size [8,8] textarea[0.,0;8.75,9.75;book;BOOK CONTENTS;" .. minetest.formspec_escape(text) .. "]" - minetest.show_formspec(player:get_player_name(), "robot_book", form); + local title,text = basic_robot.commands.read_book(itemstack); + title = title or ""; text = text or ""; + local dtitle = minetest.formspec_escape(title); + local form = "size [8,8] textarea[0.,0.;8.75,8.5;book; TITLE : " .. minetest.formspec_escape(title) .. ";" .. + minetest.formspec_escape(text) .. "] button_exit[-0.25,7.5;1.25,1;OK;SAVE] ".. + "button_exit[1.,7.5;2.75,1;LOAD;USE AS PROGRAM] field[4,8;4.5,0.5;title;title;"..dtitle.."]"; + minetest.show_formspec(player:get_player_name(), "robot_book_".. sel.. ":".. minetest.pos_to_string(libpos), form); + end end end @@ -1162,8 +1264,54 @@ minetest.register_on_player_receive_fields( return end + local robot_formname = "robot_book_"; + if string.find(formname,robot_formname) then + local p = string.find(formname,":"); + local sel = tonumber(string.sub(formname, string.len(robot_formname)+1,p-1)) or 1; + local libpos = minetest.string_to_pos(string.sub(formname, p+1)); + + if minetest.is_protected(libpos, player:get_player_name()) then return end + + if fields.OK and fields.book then + local meta = minetest.get_meta(libpos); + local inv = minetest.get_meta(libpos):get_inventory();local itemstack = inv:get_stack("library", sel); + if itemstack then + local data = minetest.deserialize(itemstack:get_metadata()) + if not data then data = {} end + local text = fields.book or ""; + data.text = text or "" + data.title = fields.title or "" + data.text_len = #data.text + data.page = 1 + data.owner = data.owner or "" + local lpp = 14 + data.page_max = math.ceil((#text:gsub("[^\n]", "") + 1) / lpp) + local data_str = minetest.serialize(data) + local new_stack = ItemStack("default:book_written") + new_stack:set_metadata(data_str); + inv:set_stack("library",sel, new_stack); + end + end + + if fields.LOAD then + local meta = minetest.get_meta(libpos); + --minetest.chat_send_all(libpos.x .. " " .. libpos.y .. " " .. libpos.z) + --minetest.chat_send_all(fields.book or "") + local inv = minetest.get_meta(libpos):get_inventory();local itemstack = inv:get_stack("library", sel); + if itemstack then + local data = minetest.deserialize(itemstack:get_metadata()) + meta:set_string("code", data.text or "") + robot_spawner_update_form(libpos); + minetest.chat_send_player(player:get_player_name(),"#robot: program loaded from book") + end + end + return + end + +end - end + + ) -- handle chats @@ -1195,6 +1343,7 @@ minetest.register_node("basic_robot:spawner", { meta:set_string("code",""); meta:set_int("id",1); -- initial robot id + meta:set_string("name", placer:get_player_name().."1") meta:set_string("infotext", "robot spawner (owned by ".. placer:get_player_name() .. ")") meta:set_string("libpos",pos.x .. " " .. pos.y .. " " .. pos.z) @@ -1321,6 +1470,9 @@ minetest.register_craftitem("basic_robot:control", { return end + if not data.isadmin then + if check_code(script)~=nil then return end + end local ScriptFunc, CompileError = loadstring( script ) if CompileError then @@ -1391,6 +1543,8 @@ minetest.register_entity( end, }) + + minetest.register_craft({ output = "basic_robot:control", recipe = { diff --git a/textures/000.png b/textures/000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/001.png b/textures/001.png new file mode 100644 index 0000000000000000000000000000000000000000..449ca8ddee34a362c83d8e0bbbbba67488bbc07f GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZAk@jv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?uCx=|!yuQC3f{bCw)lk0M-+mNwohzopr0O9H&I{*Lx literal 0 HcmV?d00001 diff --git a/textures/004.png b/textures/004.png new file mode 100644 index 0000000000000000000000000000000000000000..f6e155bf36a8e3dd4c5f6143873804996784dd56 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$q5MwKm1i~LU^3m z4j)iRIv`-wp>g+!gw+ooshUP#;byjYv4x$EDGvghU!)2!6twfmKg#@51vG%c)78&q Iol`;+0M}t42LJ#7 literal 0 HcmV?d00001 diff --git a/textures/005.png b/textures/005.png new file mode 100644 index 0000000000000000000000000000000000000000..3d385e9d697f8f6c8d5299de75022cc09db4a519 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZ}A0jv*Gk$q5MwKl*ug+!gjJS+EU(m^$P|?t^9VY+) literal 0 HcmV?d00001 diff --git a/textures/007.png b/textures/007.png new file mode 100644 index 0000000000000000000000000000000000000000..e5cc15c4a96cf0d50c1c0edd3f74dda602f37b54 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKm1i~vMw}8 zw{Y_WHhZuxX5(dRW{bC4)ajV=Ah7vGssKaZ`j6VHNZ*b!ooB_PYo#K1YD?7~~duQfp344$rjF6*2U FngFS6A9er$ literal 0 HcmV?d00001 diff --git a/textures/009.png b/textures/009.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f6ab01cc3505243ec62be59452f6ceaf01633f GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKm1i~vMw}8 zw{Y_WHg{ZXa6h}kkvZwY18;W|!ww#sEP=f|ObjYdTc=;$ak&GimBG{1&t;ucLK6T& CHy*nH literal 0 HcmV?d00001 diff --git a/textures/010.png b/textures/010.png new file mode 100644 index 0000000000000000000000000000000000000000..2ebecd96cfee52610f9ba05ed5db1508be51881a GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$v^y64;W-!P%!9d zY-H4yTf`=~l(BtQU^Ck(g&3(e$EGDLJyI_2%?!m!k5WGV=j8xuW$<+Mb6Mw<&;$Sp Ca~$LV literal 0 HcmV?d00001 diff --git a/textures/011.png b/textures/011.png new file mode 100644 index 0000000000000000000000000000000000000000..973e72d54cb970e6cea9169a587175189d9abd68 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$v^xV6A}^}9t1YC zH9DT?YHM`V5VH7SV9*ir(J@b8Wx|yOjYb_auK1|PrLZwFcsK8=d;4|AM4$l-p00i_ I>zopr044w;3jhEB literal 0 HcmV?d00001 diff --git a/textures/012.png b/textures/012.png new file mode 100644 index 0000000000000000000000000000000000000000..44464a5d34d9c8628e0643cbc2cba3fc91cc2d02 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$v^xV6A}^}9t1YC zolr>O3_99A!Ewh20n?5d1(IxRg3NBbQX0)2o@ZSiIi?9PxH9jmtN2@R0cZe&r>mdK II;Vst0MA|@RR910 literal 0 HcmV?d00001 diff --git a/textures/013.png b/textures/013.png new file mode 100644 index 0000000000000000000000000000000000000000..428503f848395d67bce57347ed571f0fa57359aa GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$v^xV6A}^}9t1YC zH9Bf^P52;S+97e)`HDgiuk0c=L1s5zDUId=S7XVF36d-f-F&<1IQK0P2O7ZO>FVdQ I&MBb@0FBoixc~qF literal 0 HcmV?d00001 diff --git a/textures/014.png b/textures/014.png new file mode 100644 index 0000000000000000000000000000000000000000..2662f10bc04b4f55e1896eec159d31ec6511def4 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$v^xV6A}^}9t1YC zolp?rRI%aVQM!6TG3CMo?wnaiqzn_TENC?12%j>!k$t8k18c>uI<1v&KL8D2@O1Ta JS?83{1OVLVAb literal 0 HcmV?d00001 diff --git a/textures/015.png b/textures/015.png new file mode 100644 index 0000000000000000000000000000000000000000..c63b46a354c7f3da83c569608381384d54cfa5e9 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZAk@jv*Gk$q5MwKl*teGwrxy z%wyMFps93BLFD7XbOFOzorWa>QZ7q!TMp-4QLvIS`Eg0mSLn%u6MsXDJF;BgE->a` YF#S4zCZoEb1kgMNPgg&ebxsLQ0CH0&XaE2J literal 0 HcmV?d00001 diff --git a/textures/016.png b/textures/016.png new file mode 100644 index 0000000000000000000000000000000000000000..c43c2ae331b439a53325ce14a57219fa11a4981c GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$q5MwKm1i~Zt(o- zXKCB$xZ{9Ow5iKNtjVF!UmFnGH9 KxvXhcd1#2y9-FDzopr0HSFqAOHXW literal 0 HcmV?d00001 diff --git a/textures/022.png b/textures/022.png new file mode 100644 index 0000000000000000000000000000000000000000..cf539a84b941fce75d2324f42212bd3c6ac3c48f GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYxMbP0l+XkKBKrUU literal 0 HcmV?d00001 diff --git a/textures/024.png b/textures/024.png new file mode 100644 index 0000000000000000000000000000000000000000..60c9370fb8a6b57b0fc82cca162d8d569e13afea GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKl*u2A-nkf>!Q{v)a2Ho0VlR-cd06pkU0w5Z2BkFL*-nD$oE1Pgg&e IbxsLQ00g8T-2eap literal 0 HcmV?d00001 diff --git a/textures/026.png b/textures/026.png new file mode 100644 index 0000000000000000000000000000000000000000..23fc7698e671e5c776676e438a4a28633071e687 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$q5MwKm1i~LU^3m z4&P8v;+4%|dw9i>MdAq?@4f@eRy#K9cL$^hNLE}?sFGx1$p3WB?YW))Q=kD1p00i_ I>zopr0K4EHh5!Hn literal 0 HcmV?d00001 diff --git a/textures/027.png b/textures/027.png new file mode 100644 index 0000000000000000000000000000000000000000..c63cf6cfdd44e7ce4ec9167f2b22b00326c9f19b GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$q5MwKm1i~LU^3m z4j)j6N$8Mj2{!Lc5RfwY!8BWqjd!1plW_Bi1B=-%o>pM^VER$}|Aw#tpne8VS3j3^ HP6mdKI;Vst E0Bw04`~Uy| literal 0 HcmV?d00001 diff --git a/textures/030.png b/textures/030.png new file mode 100644 index 0000000000000000000000000000000000000000..f99708fc2e147bf7a309edc25cf89d99f292dcd2 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$q5MwKm1i~LU^3m z7PIlDHFq!qDYoX0OTIk|o6jpK1?&EdOu3@)N}7csfSpI)CFCE-5C%_IKbLh*2~7Yh C-5fpu literal 0 HcmV?d00001 diff --git a/textures/031.png b/textures/031.png new file mode 100644 index 0000000000000000000000000000000000000000..b86852907be6bd958f8ffd1edf41236bf0cd9320 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$q5MwKm1i~Zt(o_ zXOwutrdWL9f=$+i2I-d50bQF;tZ*zb>EN-+64=Yb#4wSaM?UJ>nbP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/033.png b/textures/033.png new file mode 100644 index 0000000000000000000000000000000000000000..31102145d405836137076f59aa0b16e90130ebc0 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQktGFjv*Gk$q5MwKl*u%t00FVdQ&MBb@09eW!8~^|S literal 0 HcmV?d00001 diff --git a/textures/035.png b/textures/035.png new file mode 100644 index 0000000000000000000000000000000000000000..78eadff3d470d1a098f7e1a79aadeb660dfdb27f GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKll%yXpks0 zvB?s+%k#^hQQ`?3@4f?ay{3o2v}uP)v&NC;GYSlHZ%-u6(@>ZP)Xw1P>gTe~DWM4f D#-|_c literal 0 HcmV?d00001 diff --git a/textures/036.png b/textures/036.png new file mode 100644 index 0000000000000000000000000000000000000000..a50d5b09f5fdc0a15a12791250c9471c3b4491c7 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQcj*Ojv*Gk$q5MwKl*uPc@ W<4eI4w&6h27(8A5T-G@yGywqCcO`iM literal 0 HcmV?d00001 diff --git a/textures/037.png b/textures/037.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f6e230dc08ef931988ef0aaa0a0abbe3d0cf1c GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQg)s$jv*Gk$v^s8BqSs_lIFZ> zU*_l%Y4(F>kw#40GRGxq-Hv$zlC#<;J62rbF>ChVovxT7AbHWp;um|XBg5B@Yi=_V SzT5$t#Ng@b=d#Wzp$Pyp?S6G7^>bP0l+XkK9MT!R literal 0 HcmV?d00001 diff --git a/textures/040.png b/textures/040.png new file mode 100644 index 0000000000000000000000000000000000000000..db03697208b48df398989f7aa78ab2a850227f0a GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQWl;rjv*Gk$q5MwKm0i!GiAJL z>vF6xd2p!trh<`4zm!Rqz+0Y07cMMJ63}!07-1m7yC_QH;#CEPO&SYo9^G2-6KDp5 Mr>mdKI;Vst0MCOYumAu6 literal 0 HcmV?d00001 diff --git a/textures/041.png b/textures/041.png new file mode 100644 index 0000000000000000000000000000000000000000..781247c2af2621b58cf9db119dcf72c6bd0e9a7f GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKll&tVAv#O zQ(++8!Y!QnBEY1>!`Yoz%Cy6djd!1p(zopr032l=<^TWy literal 0 HcmV?d00001 diff --git a/textures/042.png b/textures/042.png new file mode 100644 index 0000000000000000000000000000000000000000..f47e2590437853ff00281c6ed7cb24e082a508da GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$q5MwKm1i~vMw}8 zwD1&U9$1`aAl>54Y$(Q4)XWy25PVjF>*ET?#cY8+j6XN}pPhP7J^`qk!PC{xWt~$( F699W-9|r&c literal 0 HcmV?d00001 diff --git a/textures/043.png b/textures/043.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b2160358e199e0324d8d2151f6057bee1e9a9c GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKm1i~LU^3m z7PIl1HUA4{VB6`~tiQpXSLwcj(T5d|UyL{ys%9*xxn)yP57fxu>FVdQ&MBb@0I?Pv ABme*a literal 0 HcmV?d00001 diff --git a/textures/044.png b/textures/044.png new file mode 100644 index 0000000000000000000000000000000000000000..db732e32cfc50f0796ab7fb4b8fcca9f37b15f25 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQc9jKjv*Gk$q5MwKm1i~vM#J} nT+G%h)zUNZAc%GGv;xDMtpEIcDZAx?su?_8{an^LB{Ts5;_MnZ literal 0 HcmV?d00001 diff --git a/textures/045.png b/textures/045.png new file mode 100644 index 0000000000000000000000000000000000000000..1eda2e2b5499c95e80aafccff27ac751cf3a8504 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQfi(qjv*Gk$q5MwKm1i~vM#J} tobvd;NP}bEg$LYk0-N1Si>2-ivm6?m~k-tpP9AkW2`{{P(OpGtDnm{ Hr-UW|hBY31 literal 0 HcmV?d00001 diff --git a/textures/048.png b/textures/048.png new file mode 100644 index 0000000000000000000000000000000000000000..787b9ebf3c118eb246564ecdcee52b9052927a95 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQjVT3jv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?t~48)plF=)afP6x>^mJTM0snQ+x)~7Pbnk?8BCnUo7Svxr1^{j!^5<- VwQY6_?16?cc)I$ztaD0e0swf)Bl7?N literal 0 HcmV?d00001 diff --git a/textures/049.png b/textures/049.png new file mode 100644 index 0000000000000000000000000000000000000000..775c41993fe966a0a5d48a0d5dbe62331f4400d9 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$q5MwKl*ubVXmn0K6LP_f^@enx>IH0qmdKI;Vst09pnog#Z8m literal 0 HcmV?d00001 diff --git a/textures/051.png b/textures/051.png new file mode 100644 index 0000000000000000000000000000000000000000..2b5e54ec9fbeba63eaa9452395acddb7411dc34b GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQjVT3jv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?uJjW&!Nrv`BwdQW@XI!{#V1V85t#T-zKcyz_^C^j*$m!A0{lkJ4DmnJ VSrqNR)&mV=@O1TaS?83{1OTvdBjf-8 literal 0 HcmV?d00001 diff --git a/textures/052.png b/textures/052.png new file mode 100644 index 0000000000000000000000000000000000000000..9d406174aa2403ad43d8038f0b0ce5d042713435 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKm0i!GiAJL z>vG&-!V}p1K|`vGO>l9ggoKNh#1l3_VLg%5iGj^*jgA!`6pT3-LSH++T+H3+3N(bl M)78&qol`;+06t0|r~m)} literal 0 HcmV?d00001 diff --git a/textures/053.png b/textures/053.png new file mode 100644 index 0000000000000000000000000000000000000000..7059e87e76dc15ca3ce71ca685192703b0fc57a1 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQnsEhjv*Gk$v^xV6A}^}9vsXS z=wew}Q6TM7w1X$F*@KtcrmauP#k{$r=hngu0X^3p407IVn;k_SIi?9P)S8uVp4{dW Q0W^rg)78&qol`;+0O7qM$N&HU literal 0 HcmV?d00001 diff --git a/textures/054.png b/textures/054.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ac54d5042ec341e80795dd64010d374559f824 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQg)s$jv*Gk$q5MwKl*teGwrxy z%#+vLam65nXVC>w=c5Wq2LwzzW^6dHvhIq4l~jwjpkBlANe6QTS}P_wHu}X>p~7l#8NV3L7KC=RJ-u1G-OL Q2b#m+>FVdQ&MBb@00hn>Qvd(} literal 0 HcmV?d00001 diff --git a/textures/058.png b/textures/058.png new file mode 100644 index 0000000000000000000000000000000000000000..a237d6d52e06a77ca6b3e4142e59e5f34135a80f GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKm1i~LU^3m y7PIk+Hm?x-yO{0b#RUha_qp*(b-nBe;bCytD8>A%_2@UCHU>{uKbLh*2~7a3O&tLM literal 0 HcmV?d00001 diff --git a/textures/059.png b/textures/059.png new file mode 100644 index 0000000000000000000000000000000000000000..d5de0ef1fb418906280d29725024b121fc14aea7 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQktGFjv*Gk$q5MwKm1i~LU^3m w7PIk+Hm?x-yO{0b#RUha_qp*(ak4Qo6l$8hxcq3h9Z(a4r>mdKI;Vst08l&{&;S4c literal 0 HcmV?d00001 diff --git a/textures/060.png b/textures/060.png new file mode 100644 index 0000000000000000000000000000000000000000..19cf020ebf0580465515ba8c25df1a74671366cb GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$q5MwKm0kAnQdOR zbve3Z$!W1oTv%x!?XpmtZL?#u{)WsXfz~!Y(dH8dB^pvLTMZVic4TO^%i8qVY+o7B O7zR&QKbLh*2~7ZT93egc literal 0 HcmV?d00001 diff --git a/textures/061.png b/textures/061.png new file mode 100644 index 0000000000000000000000000000000000000000..d673f355ce489dec7a9f6201bf5361ca1bf95a3c GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQktGFjv*Gk$q5MwKm1i~vIOq( v{PJg%c*4fJ?|__XhKVEJDj?mVz{arr!tTV&Cs%v~YGUwo^>bP0l+XkKYyBJ; literal 0 HcmV?d00001 diff --git a/textures/062.png b/textures/062.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c57fa8397de797f5b94722f355cbf85ef9fe29 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$v^s8BqStG9B)3a zkiys6#+TNtVN$X}!liAY^U(zd#czm6n*7+r;mQ{HqU&IeK#{a&DE03H P8pGh}>gTe~DWM4f@cJX+ literal 0 HcmV?d00001 diff --git a/textures/063.png b/textures/063.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3803c9e2d4076d58a698e35434699a897904c6 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?uJjW&!Nrvl(k>|$e4@=BzGBWN6pTIu7-oE6{g$!jpdrJh6$@%=HJ)e! PjbZR~^>bP0l+XkK*`Fgu literal 0 HcmV?d00001 diff --git a/textures/064.png b/textures/064.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8e5a0340bcd615d6b14c65b904c8402d7e10de GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQnsEhjv*Gk$q5MwKll$XVM^J{ z(|lgR#!TRdMpb*Czopr0P*u5vj6}9 literal 0 HcmV?d00001 diff --git a/textures/066.png b/textures/066.png new file mode 100644 index 0000000000000000000000000000000000000000..543458bf7a560d10c42d55b4ad3ec9e4f8cb9179 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$v^y+5)u*)^s#Su zv=CKHobw9E2;p9QF#W;BF-oYuZ^ijc>gJGN9i6p0|EO9_17(8A5 KT-G@yGywp9$|6bt literal 0 HcmV?d00001 diff --git a/textures/067.png b/textures/067.png new file mode 100644 index 0000000000000000000000000000000000000000..dfb4bd92c38cbebb80980b05ef9ee77211f0daba GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZ}A0jv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?u5=n(pl**Fuas$r6p)pA`JO^dR{^8VG@i6(jU&xx6c`xOdE_@vWUK|6 O!{F)a=d#Wzp$P!8Doq6M$kA)40%~UPboFyt=akR{ E05QlMdjJ3c literal 0 HcmV?d00001 diff --git a/textures/069.png b/textures/069.png new file mode 100644 index 0000000000000000000000000000000000000000..b51293b2bc236012466b8e94bddfdc81cf11fae3 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$v^xV6A}^}9vsXS z=wew}Q6TLS62ar!%od-}FJ-cbS4otos9A$+x?`>YgZG{C&1SbB)dO`ic)I$ztaD0e F0su%d9ZdiL literal 0 HcmV?d00001 diff --git a/textures/070.png b/textures/070.png new file mode 100644 index 0000000000000000000000000000000000000000..4ab4124f35c9e14a5837c0716fd4861003492207 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$v^xV6A}^}9vsXS z=wew}Q6TLS62ar!%od-}FJ+Q-;e%m^)7j=53Jgq>c;xjL}Qjv*Gk$q5MwKm57e*fNS1 zv-L`uWL-F6!qLy`d{-f+tANpF8c$lY#*yYT3JgpvyAzES=iLEnW$<+Mb6Mw<&;$VV CfgDKy literal 0 HcmV?d00001 diff --git a/textures/075.png b/textures/075.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba848ed21c629f78486c1260c454ccf4d4544a9 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$v^s8BqSs_lIFZ> zU*_l%X|{v+5NikLZpXX}54dw?Nt^uGbYg|$;cE&>Cc>TUGaVUh&N#mOxc+Dt&(VTI%2TM9u370f#p6-ZuTV`TVXdCg6EZtW(Z76wmOKbLh*2~7Z4L>rX= literal 0 HcmV?d00001 diff --git a/textures/077.png b/textures/077.png new file mode 100644 index 0000000000000000000000000000000000000000..0c35c1ee379993752ce3b45986f43796ee65d2d0 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$v^s8BqSs_lIFZ( z-|o0WL~wE11Zfwa2p;BUHg_v2(~K(%9wrMI&gwkUd`5wxY+L!}?8eqWpne8VS3j3^ HP6NOmnbTCJtwPJ!K3xmeLm~*pOjxhmEVDNPH Kb6Mw<&;$T%^ddL_ literal 0 HcmV?d00001 diff --git a/textures/080.png b/textures/080.png new file mode 100644 index 0000000000000000000000000000000000000000..e9bfe0eb10e445bcfd3569fc44d8a4bacb96762e GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$v^y+5)u*)^s#Su zv=CKHobw9E2;p9QFkQef(Io4_3dhB46T3Ap*>vzSG5j@9XSuF?I0~qp!PC{xWt~$( F69BHj9{vCT literal 0 HcmV?d00001 diff --git a/textures/081.png b/textures/081.png new file mode 100644 index 0000000000000000000000000000000000000000..93b5f57e1634d1a870866de52bc495f392ba4e3a GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKll$HVMzI! zQL#bNWl3&?uC!^!l?8##E3yRwr}5e~7i1n-D%roV`KAKbM+IXJ2919)=fXmHTY!cz Nc)I$ztaD0e0szi%BK!aV literal 0 HcmV?d00001 diff --git a/textures/082.png b/textures/082.png new file mode 100644 index 0000000000000000000000000000000000000000..a6216eb89dc540d6d6fc44fb322648a2a112a575 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$v^y+5)u*)^s#Su zv=CKHobw9E2;p9QF#W;y!_+% U@{p@T0njW4Pgg&ebxsLQ0NQ3IcK`qY literal 0 HcmV?d00001 diff --git a/textures/084.png b/textures/084.png new file mode 100644 index 0000000000000000000000000000000000000000..823ea7743aafedf403e21db058b038806857451b GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$v^xV6A}^}9vn;; ykYexqm~o)homa{<}Qjv*Gk$v^s8BqSs_lIFZ} z=an+exT3I!O>l9C$7wfSDS_q_7i>g$m6-XBni;CxdE}#dPZa^RGI+ZBxvXd3}I&FoAsIe!-3ivJYD@<);T3K F0RUNE9K!$r literal 0 HcmV?d00001 diff --git a/textures/088.png b/textures/088.png new file mode 100644 index 0000000000000000000000000000000000000000..16046eb297638f4fe345d40bd376febc837f871b GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$v^s8BqSs_lIFZ( zpYM1?L+R3{gE<0{v)a2HoAozn8g*RRaA0NKl?8##D-s0^XLTNFKBK^p>&_$ZIa_7| P&=>|!S3j3^P6y!v4$Z$N}@bP%^FDQYKjfhHMX+oUbTweN-^!U~ry$&CTN9rs+VP44$rjF6*2UngA?E B9q0f6 literal 0 HcmV?d00001 diff --git a/textures/092.png b/textures/092.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae68dd2327323f04c31c4f99771cd13758e7b4a GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$v^s8BqStG9B)3a zkiys6)+c46z!sSCBEYbN$Jw1%Duhii^F@GpM^>UsaWljJnOU0zCwSyqD^>bP0 Hl+XkKm=+$g literal 0 HcmV?d00001 diff --git a/textures/093.png b/textures/093.png new file mode 100644 index 0000000000000000000000000000000000000000..3a14443e73a8f05f7b91551fafec9a45fd04a332 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKll$HVMzI! zQDGq6!rd=rl67H)<6<`6n@zo0Y=Ir@GaVV0H(hg!)81?V)W_iI>gTe~DWM4f=Fc4B literal 0 HcmV?d00001 diff --git a/textures/094.png b/textures/094.png new file mode 100644 index 0000000000000000000000000000000000000000..61afe833625627ccc1b2e7b51ddd94217a0f297b GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQf8hmjv*Gk$q5MwKl*uD!*NGM^DtJ%NJKTE@tbMGC9M`#IW$C$%|BJ{i{F|7(8A5 KT-G@yGywns7$AQD literal 0 HcmV?d00001 diff --git a/textures/095.png b/textures/095.png new file mode 100644 index 0000000000000000000000000000000000000000..64ecae6ca260f7e7979b4725136c6d587f4ceb3c GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQp%n#jv*Gk$q5MwKm1i~vM#J} qT+G%hWs-Fv!0?4VYeIoE3xo4YlNSwkLJxt;89ZJ6T-G@yGywp{BN&|k literal 0 HcmV?d00001 diff --git a/textures/096.png b/textures/096.png new file mode 100644 index 0000000000000000000000000000000000000000..9880561f8067f393dd4cfc6b5c7428abb3795c23 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKl*u6+LdSC{?gZ@(!Dz@L8akS#t-Y%JMgj#vL;X6ovSWni=H2#GI=L6R`%G!QkoY K=d#Wzp$P!viym<|fWpXaY2W!PC{x JWt~$(69C#O9>V|t literal 0 HcmV?d00001 diff --git a/textures/100.png b/textures/100.png new file mode 100644 index 0000000000000000000000000000000000000000..14252e0ef5ea8cdd9102d2176f22ef9667488bd8 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQWl;rjv*Gk$q5MwKm57e*fNS1 zv+;H~?l>S|%F)lO5^3PVyC_PcSIR}TxuY{JCV@lJMNuw=jgjHw&zN%zJy+y_W-xfV L`njxgN@xNAy3QS> literal 0 HcmV?d00001 diff --git a/textures/101.png b/textures/101.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d8dabf944731cb8dcd35854dd8635e84ad2182 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKm1i~vMw}8 zxbR3gu?c2Mhn;Sl;JBnoF-5>tv-*RiOV+7l$sZHUIvF6xd2p!trb5s`0i%o$tlw5RE@tDcZ$5FL`HTX?Zl-H)+PZc}fO;7`UHx3vIVCg! E0Ku*x-~a#s literal 0 HcmV?d00001 diff --git a/textures/103.png b/textures/103.png new file mode 100644 index 0000000000000000000000000000000000000000..5752eef02bf81e2e966ba3b04b84d79a7e078b9f GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKm1i~vMw}8 zxM)c{VSBidQCrS5!$891$0b2uo<&g-ynM|XJkuR>1QSC{?gZ@(!Dz@Y%&|y;3g0%^eqgROC|F7#R%jtFzetJzxRU&fw|l=d#Wz Gp$Pyz@f=bB literal 0 HcmV?d00001 diff --git a/textures/105.png b/textures/105.png new file mode 100644 index 0000000000000000000000000000000000000000..f554f4bb20dfa5e37d19e570d9dc91f434c44945 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKl*uFVdQ&MBb@0PLzA ABLDyZ literal 0 HcmV?d00001 diff --git a/textures/106.png b/textures/106.png new file mode 100644 index 0000000000000000000000000000000000000000..ad949595c7404a60522fe97c008a1cfec28c5ece GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKm57e*fNTo z?<&|-tdKVO!Bl-^L1L?< literal 0 HcmV?d00001 diff --git a/textures/107.png b/textures/107.png new file mode 100644 index 0000000000000000000000000000000000000000..72fd8399da5fd0139846f98f186515d5e29e4250 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKll%yV2GUK zVUu-XfhkA-tc4i@6BErtc$9)Z2bg4hU^VjvGS4QMbvW6a;9+7&o%K;$A**f&&=3Ys LS3j3^P6ZslE4EDU?jWo^j_VCbRHeR;oj*C7jaw%+#3|Hs!$V}Qjv*Gk$q5MwKm1i~vIOq( z{PI_lSi~kMEM{@FU&}Qjv*Gk$q5MwKm1i~vMw}8 zxbR3gu?c2Mhn;rgl``#k#m2i&$4R(Z<4E%v1qL4ekJ_ijHva@_W$<+Mb6Mw<&;$U= ClpC`E literal 0 HcmV?d00001 diff --git a/textures/112.png b/textures/112.png new file mode 100644 index 0000000000000000000000000000000000000000..45de829e57926da4ac74e09bbcd528a6906ef06e GIT binary patch literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQdXWWjv*Gk$q5MwKm1i~vIOq( z{OV_!pjyzVm?dB+Rj^9(4x6CxS?4PXNem}1+FS4}@?0is+VP8xkzv|bbr#ibaetsG N44$rjF6*2UngCx)AMOAE literal 0 HcmV?d00001 diff --git a/textures/113.png b/textures/113.png new file mode 100644 index 0000000000000000000000000000000000000000..1398fa0ce1b95d14a8bfc4263319dd4b65c53252 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQWl;rjv*Gk$q5MwKm1i~vMw}8 zv~WKNGCsk3D4E$)j3=;pg_zqH(~cP%6tsHSwmXJ!FAi+Z$QEG8;#6n(UnVmZXa<9) LtDnm{r-UW|I6WWC literal 0 HcmV?d00001 diff --git a/textures/114.png b/textures/114.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5b9c4706c3548ffb60530340cc24f08e5d157d GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKm1i~vIOq( z{OV_!pjyzVm?dB+Rj^9(4%jv*Gk$q5MwKm1i~vMw}8 zxM)c{VSBi-(ZuElkCJIm+X}}c2{vtfX3ZU35=n} literal 0 HcmV?d00001 diff --git a/textures/116.png b/textures/116.png new file mode 100644 index 0000000000000000000000000000000000000000..867d57b4f8d10a83491062f785bea28745535511 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQU;zbjv*Gk$q5MwKl*u>~=gQ@z;g23hz<|P_ZE?W&2t#)Lv^IcH$Wlrlepk4+~S3j3^P6k2Vl9gNN=6u3Sr7;`XGW_{G&ym{wopk4+~S3j3^P6WNw?_DDucLO@QImEOi#XX#1r=?F^o-elF{r G5}E+w%O9}- literal 0 HcmV?d00001 diff --git a/textures/120.png b/textures/120.png new file mode 100644 index 0000000000000000000000000000000000000000..fe425379d718a90f3125fd292df53e3142b1c4a5 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQjVT3jv*Gk$q5MwKm1i~vIOq( z{OV`vxY!W<_knSTgsV%G*$iGK=g$F#86Q~9T-hc{iCJ9bw`=a`iTZT;VuK_LLu|x? Vn)&yEp{O_; Ppg9blu6{1-oD!MvF6xd2nbk8*hhWN`{;k8}GgYa;6<7%>|NO$D0;r2wXkXv5t+AL1)r}8d*ov9-tu% Mp00i_>zopr0HSFj@&Et; literal 0 HcmV?d00001 diff --git a/textures/124.png b/textures/124.png new file mode 100644 index 0000000000000000000000000000000000000000..c21c6d5fd9ac57dc585e36a39c003f81951fec44 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKl*u@1)~oEh8Z7NzpZdoz6Inc7;`WjQuIH2^ODC@phgByS3j3^P6VAj#2aa_)=`LKf0UwaW=B~zUb5e7ioNQQl; aBSVM&N9`4}m-_&XWbkzLb6Mw<&;$UU$tETM literal 0 HcmV?d00001 diff --git a/textures/131.png b/textures/131.png new file mode 100644 index 0000000000000000000000000000000000000000..81d1e83aa53fb047b379257df0c9dc2091e5f937 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQmURVjv*Gk$v^xV6A}^}9t1YK s@k*IyTv-s<+}7uqA>;Ky!I*<#r&9E5*3DB~fEpM)UHx3vIVCg!0Qq_uZU6uP literal 0 HcmV?d00001 diff --git a/textures/132.png b/textures/132.png new file mode 100644 index 0000000000000000000000000000000000000000..9bb3a358e6dae2aa8d90da06c889c5b35ff13345 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$v^xV6A}^}9t1YK z@h)m}%#iW=kYJqgf%V%8N99`!4o-Jnkt)E@y8CLf!r|>jKz$6Ju6{1-oD!M<6apV8 literal 0 HcmV?d00001 diff --git a/textures/133.png b/textures/133.png new file mode 100644 index 0000000000000000000000000000000000000000..3030f7a665155dd5c625bdcba4db05a9734f8424 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQU;zbjv*Gk$v^xV6A}^}9t1YK z@h)m}%#iW=kYL;)@n2XpZZTW0lnZY&TfEr9X^sp!RacYw!~)%cdKo-j{an^LB{Ts5 D8U-8c literal 0 HcmV?d00001 diff --git a/textures/134.png b/textures/134.png new file mode 100644 index 0000000000000000000000000000000000000000..176c2d4a439517be9410bb5b9e5c5f6c935b7a6b GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQvRMUjv*GkXD=IaF(~jjU%d1G z(k@P}iz%PDV^{47aP2MfjN1COa>8wo1&cERW_;smcINB-WwT;0cRSOL3 Mr>mdKI;Vst006=sWB>pF literal 0 HcmV?d00001 diff --git a/textures/136.png b/textures/136.png new file mode 100644 index 0000000000000000000000000000000000000000..59f79bb6969a3b9e3c320b926eac1f5aff9b21cf GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZ}A0jv*Gk$q5MwKll$%VQ5>J zEU;3H$Eo?l4Tnjr&L~Jo-Ainl~ QG0+?aPgg&ebxsLQ01k;G-v9sr literal 0 HcmV?d00001 diff --git a/textures/137.png b/textures/137.png new file mode 100644 index 0000000000000000000000000000000000000000..94679cf5d8ccc7f73fc4ed8bae55d96690da7ffa GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQVyOjjv*Gk$q5MwKm57e*fNTm z&nnoMO-Orj!H`2-!ii1r@&Cj$fr&Spw&)lYun7w59loJplf|~#@rcV$pb`edJ13IL T-+B80&0_F$^>bP0l+XkKacLyG literal 0 HcmV?d00001 diff --git a/textures/138.png b/textures/138.png new file mode 100644 index 0000000000000000000000000000000000000000..c222bc41656dab5f5423bcf08cb84b556d8b7bac GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$v^s8BqSs_lIFZ( t-|o1iNipTZ1MWA0&2C$eI2%^6Gt}Sxr}IaMT?eR@!PC{xWt~$(699F8ARGVy literal 0 HcmV?d00001 diff --git a/textures/139.png b/textures/139.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d45cf444f2508f0ee83ac4d235aae28b5e0153 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$q5MwKm1i~Zt(o_ zS2f_^b^4}0izTeb{pXr4`yIT8SUZeL3Zz|n*yg-yU*_m+?8w9rc)EOZ TNI-Bi&@2W|S3j3^P6ls#k4-~NV&f!5bD2dZ8CBf3&o@tE6fe-YV`go}pY-RV=#{rl WjxQV4U+)H*#^CAd=d#Wzp$Pzm5Gi8- literal 0 HcmV?d00001 diff --git a/textures/142.png b/textures/142.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c4f13f4e3358af5de34e3f273ea6e127d46a68 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQZAk@jv*Gk$v^s8BqSs@B*iee z-hE)!p}}jRBk_do;iZOPp>@Vhn_NOp1a1U9b_b6d<7cwB+O Y?zZF0xhu3ofaWoHy85}Sb4q9e0QQk3Hvj+t literal 0 HcmV?d00001 diff --git a/textures/143.png b/textures/143.png new file mode 100644 index 0000000000000000000000000000000000000000..c948e1cab84468cede74613488e94b615769413e GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQcj*Ojv*Gk$v^s;4Gattj#^yh zv1{(Q=&&TU`K&_Hq1Gn{lL{KjH7!6OW}LeyD=+wGnJjbQL} L^>bP0l+XkKfzu-S literal 0 HcmV?d00001 diff --git a/textures/146.png b/textures/146.png new file mode 100644 index 0000000000000000000000000000000000000000..ac76a294be92295875dbfd670a439e223ce24176 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$q5MwKm1i~Zt(o_ zXOwVa6BHJ6zM`bP0l+XkKJuMJr`wh}nsnC9l4fDJs4{6rRd3Z3 Ppg9blu6{1-oD!M<_W2|K literal 0 HcmV?d00001 diff --git a/textures/149.png b/textures/149.png new file mode 100644 index 0000000000000000000000000000000000000000..d1df1db45c4b4471129ef9bcca048b0dd7936a70 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$q5MwKm1i~Zt(o_ zXOwut_VAOj9Pbj=ZwDk@wi-y8W?Wei*!)4tW$U7{3z94hK|Gn~Kc1g>38}Qjv*Gk$q5MwKl*teGwrxy z%#+vLak0Vu>b%7 literal 0 HcmV?d00001 diff --git a/textures/152.png b/textures/152.png new file mode 100644 index 0000000000000000000000000000000000000000..3edf79a6d11dbf4f2244a727465f8630ea4a7737 GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQWl;rjv*Gk$q5MwKm1i~Zt(o- zXYP?QnZbKV)v;}%^HBvO9@!kWhh23^2Ua*TrwT~UocyQ6CA^uzj3wsW!Vlv0Krn+a literal 0 HcmV?d00001 diff --git a/textures/153.png b/textures/153.png new file mode 100644 index 0000000000000000000000000000000000000000..2392efcc027b8e9526c1ab13556040a09ef4e72b GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQWl;rjv*Gk$q5MwKm1i~M0gLe zy75Zousyu!5cP$huld9Un;E=^B)7XX1U9psQZTy2of(;OfQN};=F6CKG1JxSfo3px My85}Sb4q9e05-xP{r~^~ literal 0 HcmV?d00001 diff --git a/textures/154.png b/textures/154.png new file mode 100644 index 0000000000000000000000000000000000000000..97e7dc3c09f32ad768ff9948da064e9fd12421ca GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$v^xV6A}^}9xO~2 z*t94yL7ibDKG%?$A&ey=7(zK{hP!QkoY K=d#Wzp$P!M`yKcI literal 0 HcmV?d00001 diff --git a/textures/155.png b/textures/155.png new file mode 100644 index 0000000000000000000000000000000000000000..315761e2c55f4d27ac984f6dfe8d203daef3f6d9 GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQf8hmjv*Gk$v^xV6A}^}9vsXS z*u=8(QS%*zpo0QN86Q}`Wvmf2gV2fQ9KFt*aw%+#3?9zA>R$PD{RW!A;OXk;vd$@? F2>@yXA|e0) literal 0 HcmV?d00001 diff --git a/textures/156.png b/textures/156.png new file mode 100644 index 0000000000000000000000000000000000000000..a215e5773a74a08a47823a99f1a0683540bfb2b2 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQjVT3jv*Gk$q5MwKl*teGwrxy z%#+vLak0VuY=C)3R-#LFbHOoVK7$q>shURHEP=1WDt@Qg<~ydaXgxe2C&I?aaBF_d UxyM|6Ad?w9UHx3vIVCg!0Nax!=Kufz literal 0 HcmV?d00001 diff --git a/textures/157.png b/textures/157.png new file mode 100644 index 0000000000000000000000000000000000000000..2d87000baeb4e3aa04ca9a4628b150ac838d3f71 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$q5MwKm1i~Zt(o_ zXOwVaQ}mvoWp{#C$?da%X~zr^8y+5|(3%O-E?N>#*aU^2x;%1B6JV%}{ikEMBUcn? O41=eupUXO@geCwiaUR+L literal 0 HcmV?d00001 diff --git a/textures/158.png b/textures/158.png new file mode 100644 index 0000000000000000000000000000000000000000..bf586eb95587055801ae5f49309eeb3003105290 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQhJ^)jv*Gk$q5MwKm1i~vMw}8 zwD5EY$~&=5Tv)k6!sG|jY_*MUY;vXyUIuodq!PC{xWt~$(69DE7 B9994T literal 0 HcmV?d00001 diff --git a/textures/159.png b/textures/159.png new file mode 100644 index 0000000000000000000000000000000000000000..057a2b540c066fad3dc3b6c03c9025bd06382a7c GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKm0kAnQdOR zbvf=Zd2Cp+LfU1k!J_q!M;a8fE{KvBg+5) literal 0 HcmV?d00001 diff --git a/textures/160.png b/textures/160.png new file mode 100644 index 0000000000000000000000000000000000000000..cac1128afc458732ebbf6e5294f9b97357321d8d GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYM}*jv*Gk$q5MwKm1i~Zt(o_ zXOwVa6BHJ6zM>G*<-xZ&u-T1w(Kg2;4UTyNSG#UGrVB7U;Wc6XwIP5NsGq^p)z4*} HQ$iB}iKZSi literal 0 HcmV?d00001 diff --git a/textures/161.png b/textures/161.png new file mode 100644 index 0000000000000000000000000000000000000000..e78fd51f92e5b84542faaef1ce67fd65fe1404bd GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$q5MwKm1i~Zt(o_ zXOvjPrl>8&#wI9y*7=IUs@97u9GO!D3=<|uyKG%lc0rPb;Z?5*>!Fzes literal 0 HcmV?d00001 diff --git a/textures/162.png b/textures/162.png new file mode 100644 index 0000000000000000000000000000000000000000..22ab3518e1cea7f85a2707291f320935aae41f31 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$q5MwKm1i~Zt(o_ zXOvjPrl>7tnqeUA;=?7kh%HdJhi$v#kp{;+fva7&9Mc6DKJuEdh8-w-3p9Yi)78&q Iol`;+0DGDp!2kdN literal 0 HcmV?d00001 diff --git a/textures/163.png b/textures/163.png new file mode 100644 index 0000000000000000000000000000000000000000..d613df15cb448bda8c08753e7e6977b6b15b2036 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQih%`jv*Gk$q5MwKm1i~Zt(o_ zXOvjPrl>7tnsH?TqhZI4GnOvAN}@bP%`3vL@L4r8eD5`3O`Q_S0o2Uk>FVdQ&MBb@ E04DYvZU6uP literal 0 HcmV?d00001 diff --git a/textures/164.png b/textures/164.png new file mode 100644 index 0000000000000000000000000000000000000000..42e61f7506412affe6131b87b01ed3e3619661f7 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl6eJjv*Gk$q5MwKl*uD!*NGM^DtJ%NHLQcU;*Z{e&%W$|m;tjv?MRo6jpKEuQwL e#3X@@kzwP6-HG?VUD*sYl)=;0&t;ucLK6T>*(=Kc literal 0 HcmV?d00001 diff --git a/textures/165.png b/textures/165.png new file mode 100644 index 0000000000000000000000000000000000000000..77b91aaebad80a5e00b8b74f2326116a747080de GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQudxMjv*Gk$v^s8BqSs_lIFZ( zpYM1?L+R3{gE<0{v)UIqraU;9CU7 literal 0 HcmV?d00001 diff --git a/textures/166.png b/textures/166.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ae92083126a2ed3d89dafec243108ac34ba230 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQg)s$jv*Gk$q5MwKl*up>S=bV0QF=7NKBfdT@O6%!;`7((``v;1KA R9sx9o!PC{xWt~$(698!uB>w;a literal 0 HcmV?d00001 diff --git a/textures/167.png b/textures/167.png new file mode 100644 index 0000000000000000000000000000000000000000..b51325b02498e2326df3cf620a57e36a2c7a6ef2 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQudxMjv*Gk$v^s8BqSs@Bqd!j z;IV7gxY)BS%|O~Ev4YpES)=4=f?37~Rx@9oMNy~ZWY_{F^qf^4gF4t}Ix@unRA-TH S$(sf=iow&>&t;ucLK6Vs0wA0K literal 0 HcmV?d00001 diff --git a/textures/168.png b/textures/168.png new file mode 100644 index 0000000000000000000000000000000000000000..d540e8dca0cd25294e76cd3add187b82d40ca8c8 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQVyOjjv*Gk$q5MwKl*ud7A$Nu?@I}|d6al}l&F2+jx(XO4UB39hpu@@L1P>E~QpbXt UNtSvtzmd ZL+|FY3(KSpegX|-@O1TaS?83{1OQwRCWQb1 literal 0 HcmV?d00001 diff --git a/textures/170.png b/textures/170.png new file mode 100644 index 0000000000000000000000000000000000000000..079bfa633601a313f4701677820f83f97567056b GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQd*uajv*Gk$q5MwKm1i~vM#J} xobvd;NP}aZz{*6!tP24q9Q<;o9dT@o46o*8Z8ExlMH{G#!PC{xWt~$(69BRU99{qb literal 0 HcmV?d00001 diff --git a/textures/171.png b/textures/171.png new file mode 100644 index 0000000000000000000000000000000000000000..73648390891d6323bf6dbcf19e8186ef6e562341 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKm1i~Zt(o_ zXOu9_xT3I1+T_P3jSyqD^>bP0 Hl+XkKg-;!r literal 0 HcmV?d00001 diff --git a/textures/173.png b/textures/173.png new file mode 100644 index 0000000000000000000000000000000000000000..6c638b912d556a0277cd0314d2884646925dff9d GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQf8hmjv*Gk$q5MwKm1i~Zt(o_ zXOv)LQ_Pk~V-rk1s9@ePL&PTQLV|Heh`|Y7rCl1TJ?t|b8JP1W6%-mm)PN>1c)I$z JtaD0e0swgc8{q%| literal 0 HcmV?d00001 diff --git a/textures/174.png b/textures/174.png new file mode 100644 index 0000000000000000000000000000000000000000..c60fee1d191632f208481c33af748cb7aa2562ae GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQf8hmjv*Gk$q5MwKm1i~LU^3m zj&$%BHJ`X(GlO^01<~f43l56kFfr`N(yT6!c43njv*Gk$q5MwKm1i~Zt(o- zXPKZ{(8;gZ+;P!o$-?HF3S7LhXV`f69awfkfh*Q<2Cq`k#TAatClwfMx9(1CKJiHr PXbgj=tDnm{r-UW|{YE4i literal 0 HcmV?d00001 diff --git a/textures/176.png b/textures/176.png new file mode 100644 index 0000000000000000000000000000000000000000..6284767ccbc8978a294f772a3b443e2516da1f24 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$v^s8BqSs_lIFZ( zpYNEGaiEobwqvvY2KVG#lWT0D3H`@zdGwhwsPTW)-Xw7$8>o@N)78&qol`;+0Oigd A6#xJL literal 0 HcmV?d00001 diff --git a/textures/177.png b/textures/177.png new file mode 100644 index 0000000000000000000000000000000000000000..ade87ac6bb7617826d5e717dee9ab7a106d9d657 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQU;zbjv*Gk$v^s8BqSsr%m^uL zJD4t@I_u&Q_SudiyOK<mdKI;Vst0C0F8 A7ytkO literal 0 HcmV?d00001 diff --git a/textures/178.png b/textures/178.png new file mode 100644 index 0000000000000000000000000000000000000000..195d719fba85bffa7ddce809045b662ffb9fecac GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$v^s8BqSsr%#dhU zGmmllkp~7H61)~ydGeas;uHFhNhPAuVGInDUzT0S$g|rBG=#y^)z4*}Q$iB}k02sO literal 0 HcmV?d00001 diff --git a/textures/179.png b/textures/179.png new file mode 100644 index 0000000000000000000000000000000000000000..44f809c6e41b485dc1b08b76ae94af141b83bf3a GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYxMpF literal 0 HcmV?d00001 diff --git a/textures/180.png b/textures/180.png new file mode 100644 index 0000000000000000000000000000000000000000..46798d1aef7c35ed760fcbb195fee0ddedab30c3 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKl*u~RtlvO*46)Y9;lJQ)78&qol`;+01uQN ABLDyZ literal 0 HcmV?d00001 diff --git a/textures/182.png b/textures/182.png new file mode 100644 index 0000000000000000000000000000000000000000..20bffbdd38f28f650962d26d40ea90a159087704 GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKll%yXpks0 yvB|oy!f}f97kPFGHa6aU2jomMt}IB*6kxc-Q@(jg^7U;%Z492SelF{r5}E+VG93~C literal 0 HcmV?d00001 diff --git a/textures/183.png b/textures/183.png new file mode 100644 index 0000000000000000000000000000000000000000..a49939be918d1a8e0519d8025310a80e124b6e39 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQW~Bvjv*Gk$q5MwKm1i~vM#J} vobvd;N|R!WfD!xjw!mgLUMbU#q-KWlr60Ak`(-e;uH122WQ%mvv4F FO#qrHA3Fd5 literal 0 HcmV?d00001 diff --git a/textures/186.png b/textures/186.png new file mode 100644 index 0000000000000000000000000000000000000000..eab73eb059b55d7ff35796dd2485f3568a44b6da GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQYxMzopr00JEv9smFU literal 0 HcmV?d00001 diff --git a/textures/187.png b/textures/187.png new file mode 100644 index 0000000000000000000000000000000000000000..edd8abf84377dd539f7a823011b85af88a6c57ad GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQhJ^)jv*Gk$q5MwKm1i~vIOq( z{PI_laAFgD{9iFkz%bF!g;&Y#@CwJpY!^=}Fxcy>vxx2b`4gy>j{9*qD1 literal 0 HcmV?d00001 diff --git a/textures/190.png b/textures/190.png new file mode 100644 index 0000000000000000000000000000000000000000..844a3dc83feeaf3470e26cf8c2abedf5d673883a GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKl*u@Tw BAD{pL literal 0 HcmV?d00001 diff --git a/textures/191.png b/textures/191.png new file mode 100644 index 0000000000000000000000000000000000000000..ff95b25cedd46574a1316d3e124b14913536353a GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQtF;Ajv*Gk$q5MwKm1i~vM#J} uobvd;OM_yTfL>={vm39JX~!xyMuz2`S(}Uwt^Wno!rSFM8^>bP0l+XkK$#)%D literal 0 HcmV?d00001 diff --git a/textures/193.png b/textures/193.png new file mode 100644 index 0000000000000000000000000000000000000000..dffcf97699fa3acb6c145407d75417249607586b GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQih%`jv*Gk$q5MwKl*uzopr E0F>e&T>t<8 literal 0 HcmV?d00001 diff --git a/textures/194.png b/textures/194.png new file mode 100644 index 0000000000000000000000000000000000000000..76efb9473864ee2c8c15cdccdd074405cbcade57 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKm1i~vM#J} yobvd82vhR~g_t_GV3)dtekl`>C=U)WzWG>gTe~DWM4f)C(Qv literal 0 HcmV?d00001 diff --git a/textures/196.png b/textures/196.png new file mode 100644 index 0000000000000000000000000000000000000000..c53860e3257ab744c5300da1611fd23ad8b63dd7 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQfi(qjv*Gk$q5MwKm1i~vM#J} tobvd82vhTg1qa1%EN1JKGST5>V)(hy|7>e!z;mDu22WQ%mvv4FO#pF79HsyO literal 0 HcmV?d00001 diff --git a/textures/197.png b/textures/197.png new file mode 100644 index 0000000000000000000000000000000000000000..c7806ba095b5ba81409daecc26c071ffc24503ab GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKl*umD4( literal 0 HcmV?d00001 diff --git a/textures/198.png b/textures/198.png new file mode 100644 index 0000000000000000000000000000000000000000..40d16e75343d65153e5c6891148326a7493923ef GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKl*u}Qjv*Gk$q5MwKll%yXpks0 zvB|oyz?4H=ViB8QXM309k|xJIf!2yE3j&)pjxiMeQ)g*zb(jm(%HZkh=d#Wzp$Py! CdLBmr literal 0 HcmV?d00001 diff --git a/textures/201.png b/textures/201.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd67a66e03871717fa22d024b374cfbc5448184 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKm1i~vMw}8 zxNu51u?6b(ux)n?;a+?&SK#WQj4KNQn>Qpd%*cy5wmdKI;Vst0O%7P A{Qv*} literal 0 HcmV?d00001 diff --git a/textures/202.png b/textures/202.png new file mode 100644 index 0000000000000000000000000000000000000000..cb36863da8abf1629f2a0ecc05ff155f04abcb9f GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$q5MwKll%yXpks0 zvB?s+%k!(B`GFC~@?Qtj1?C-47Uefpk4+~S3j3^P6*f literal 0 HcmV?d00001 diff --git a/textures/206.png b/textures/206.png new file mode 100644 index 0000000000000000000000000000000000000000..8cdcd81ea1d4571382bb0a8d89ba5d50e0e68ad0 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQkI@Bjv*Gk$q5MwKll%yXpks0 zvB?s+%k!(B`GFC~@?Qtj1?C-47Uef>H!6ljuQh1M9aHj>~1 literal 0 HcmV?d00001 diff --git a/textures/210.png b/textures/210.png new file mode 100644 index 0000000000000000000000000000000000000000..6e26c80c47ac01df1b6227361b7875388da49d34 GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKm1i~vM#J} zobvd82vhR~g_Qb5o&qArC2uTd>ymdKI;Vst02nqM ADF6Tf literal 0 HcmV?d00001 diff --git a/textures/211.png b/textures/211.png new file mode 100644 index 0000000000000000000000000000000000000000..5770e14ad5a4d49aa2433b7521b8e7996b6c72a5 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQd*uajv*Gk$q5MwKll%yXpks0 vvB|oy!f}gnM~J}*-bDiaQYIk&4nu}>P1oGQ`IpQF>SFM8^>bP0l+XkK%rG5j literal 0 HcmV?d00001 diff --git a/textures/212.png b/textures/212.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea37a399ce8c15b3c568e0f09d6dcc6b674e891 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKl*u$9TWkF!G#{q^X;@8}k|Kf20YGv?r^>bP0l+XkK Dx>zC^ literal 0 HcmV?d00001 diff --git a/textures/213.png b/textures/213.png new file mode 100644 index 0000000000000000000000000000000000000000..d2cefc9e8fa0f84a7c401cc9d1cfb4abc2d26d0c GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKm1i~vMw}8 zyJ$%)VhhymVVm#RtiNGp+Jy()Zvva!Ry#6$;s2;z{jt6jsE@(Z)z4*}Q$iB}=eZt0 literal 0 HcmV?d00001 diff --git a/textures/214.png b/textures/214.png new file mode 100644 index 0000000000000000000000000000000000000000..fb274a8477dbd896792f3974a0f265a760560aed GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKm1i~vM#J} yykgoRWYEH++l?8##5)u;sm>C`x@yNTaTpSP7#^CAd=d#Wzp$Pz`yBmlA literal 0 HcmV?d00001 diff --git a/textures/215.png b/textures/215.png new file mode 100644 index 0000000000000000000000000000000000000000..dbaaf17397e7a2df308d395882d86b5312d0799f GIT binary patch literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQrey_jv*Gk$q5MwKll%yXpks0 yvB|oy!f}f9m-$`^0#YVFn5wTV2yAX!>d0VIdm`!UhmH?GZ492SelF{r5}E)GLLaCA literal 0 HcmV?d00001 diff --git a/textures/216.png b/textures/216.png new file mode 100644 index 0000000000000000000000000000000000000000..f907f59c14e12353a58c810b0628e4def88e8221 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKl*u>H!6lj1R2eGSf#?;E$~P4l*kmWoI2r!&AW$oVr>mdKI;Vst0Epcn AkN^Mx literal 0 HcmV?d00001 diff --git a/textures/217.png b/textures/217.png new file mode 100644 index 0000000000000000000000000000000000000000..045315237880072a43c161e1a721f393a69125dd GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$q5MwKl*ugTe~DWM4f&5Rrh literal 0 HcmV?d00001 diff --git a/textures/218.png b/textures/218.png new file mode 100644 index 0000000000000000000000000000000000000000..ae67bef438c77fbeee953bd8a8a7da3f269ad376 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQfi(qjv*Gk$q5MwKm1i~vM#J} tT+B8xQD9|4hm^}!11ZytD+){!3@#m6o5Z9(CjoUZc)I$ztaD0e0ssx=89o32 literal 0 HcmV?d00001 diff --git a/textures/219.png b/textures/219.png new file mode 100644 index 0000000000000000000000000000000000000000..71506ad4d8c0727b2fe80ab0c1909264903c7292 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQnH>djv*Gk$v^y64;W-!SmC&s htyjtf#9+=BU~p&MIs5J(**>5`22WQ%mvv4FO#nx57i9nd literal 0 HcmV?d00001 diff --git a/textures/220.png b/textures/220.png new file mode 100644 index 0000000000000000000000000000000000000000..db6eb8f17a046748594d9edf8da51191213bba99 GIT binary patch literal 92 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQp%n#jv*Gk$q5MwKm1i~vM#J} qT+H_H;Qy5@ZoE>a8CMkcFfbU%n6TbovQQAHoWax8&t;ucLK6Vqbr|&k literal 0 HcmV?d00001 diff --git a/textures/221.png b/textures/221.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb3c8718dc21843fde4bddc28386666eac3553c GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQi`4~jv*Gk$v^yA5)u*=dfa)X lOf#-52yAu(F&^+TF&NsJu=b`oYXKEAc)I$ztaD0e0su*w6$k(T literal 0 HcmV?d00001 diff --git a/textures/222.png b/textures/222.png new file mode 100644 index 0000000000000000000000000000000000000000..69364bba3d6294d857e52b23aee489e1f478a333 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQc9jKjv*Gk$q5MwKm0j_nI+tK lrA#xfEC_4{Gam3VF{E>vu;%)+wg6Q#c)I$ztaD0e0subT6m$Rp literal 0 HcmV?d00001 diff --git a/textures/223.png b/textures/223.png new file mode 100644 index 0000000000000000000000000000000000000000..e260734bd8222dff5e7d2bcc5fd9c6574c1c7d15 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQmURVjv*Gk$v^y64;W-!SmC&s q?V)K$W8*{nsUJX`Ua1yoW`+!H6IS`HZ;k*pFnGH9xvXSOnO)m`d9Jq(_%elF{r5}E)+k{T`m literal 0 HcmV?d00001 diff --git a/textures/225.png b/textures/225.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac843a07ebfc5cc1fef1feb60503a2cbd30f4db GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQbwLGjv*Gk$q5MwKm1i~X7D<( z?J#)|Xncd`S3mQEOEy^-5)3jvEL|Mf?8du@PcDUxkwM^a%(=v8CO?6?89ZJ6T-G@y GGywp;;~-1` literal 0 HcmV?d00001 diff --git a/textures/226.png b/textures/226.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1f764236d937159bef16b6676281b8f3c38570 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQr4a>jv*Gk$q5MwKm1i~LU^3m zoUbhSFVdixB4C(k;=-#W%A?ra;d#*cio&Yaiw_JsPB?Y{Y05po!^EJf`q;fh>E2nO OF$|urelF{r5}E*$QX*&o literal 0 HcmV?d00001 diff --git a/textures/227.png b/textures/227.png new file mode 100644 index 0000000000000000000000000000000000000000..13e983265d32a2d9ce69eafa8e0346d898e31b82 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQtF;Ajv*Gk$q5MwKm1i~LU^3m toUbhSFVYa$?8Yl)nsH@;VrbgrE=E_L%=7j!(I7JzJYD@<);T3K0RS0o8F~N! literal 0 HcmV?d00001 diff --git a/textures/228.png b/textures/228.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab314375859a6a9df86fc633d00815df949d8e0 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQhJ^)jv*Gk$q5MwKm1i~vM#J} zobvd;#Q_5Yj+xF{5~dj&BwMs+wXbj#dE}TTz) B9@zi@ literal 0 HcmV?d00001 diff --git a/textures/229.png b/textures/229.png new file mode 100644 index 0000000000000000000000000000000000000000..b57792940be7c4d43944065c42e32d580c1c3fed GIT binary patch literal 102 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQo5cljv*Gk$q5MwKm1i~vM#J} zobvd;NJC&V+bM;Va~y^o;aqZy*m(Qy`0F+^D4mNr_vcx-7*HdFr>mdKI;Vst029z1 A+W-In literal 0 HcmV?d00001 diff --git a/textures/230.png b/textures/230.png new file mode 100644 index 0000000000000000000000000000000000000000..7ee912080dd51b33fa71f9fee74d7018ab33ad69 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQU;zbjv*Gk$q5MwKm1i~Zt(o- zXXZ(6?qF=bqmXiLg`@Lbg&56>D+>;$3A9#BkYr)tIJ&mB`T2ZKpk4+~S3j3^P6>PQ9YO#A literal 0 HcmV?d00001 diff --git a/textures/232.png b/textures/232.png new file mode 100644 index 0000000000000000000000000000000000000000..da75be680cca38da1ab32465a2a4a213b4233ca4 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQih%`jv*Gk$q5MwKm1i~Zt(o_ zXOu9_xT3I1+T_P34&P5wn^;ypTFiFw@`8iY`&Oh1FvO%jcF&DS&U>%pvWfCGmu9VWGys<}(TmXI)yhd@bLn2Gq~s>FVdQ I&MBb@03PBY{r~^~ literal 0 HcmV?d00001 diff --git a/textures/234.png b/textures/234.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/235.png b/textures/235.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/236.png b/textures/236.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/237.png b/textures/237.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/238.png b/textures/238.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/239.png b/textures/239.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/240.png b/textures/240.png new file mode 100644 index 0000000000000000000000000000000000000000..c87aef5386e80dc5d2e93007288cfa631cbb550f GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu>}Qjv*Gk$q5MwKm1i~Zt(o_ rXOwut#=Gx;T(9XN6xy^yfsNsHx#P>C`^TGrS{XcD{an^LB{Ts5JOCcM literal 0 HcmV?d00001 diff --git a/textures/241.png b/textures/241.png new file mode 100644 index 0000000000000000000000000000000000000000..90f4552fbde43bc764de043319b1e52982a4e0a5 GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQs$m6jv*Gk$q5MwKl*unpaHQ#6I7#S%1UIQ~`!r_3A9&RE2ecMlg7~ L`njxgN@xNALd76i literal 0 HcmV?d00001 diff --git a/textures/242.png b/textures/242.png new file mode 100644 index 0000000000000000000000000000000000000000..fa251ae62e72003f290ff11ceacc991fc3f9be55 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQnsEhjv*Gk$v^s;4Gat>w6V{3 zJR!ryD|?15FylpnS;hxeGgr327hMN)1SF-}x*RPY&*3mQ!7EkM=&Rezu*exv UxhN{Z0B9D2r>mdKI;Vst0OJHDE&u=k literal 0 HcmV?d00001 diff --git a/textures/244.png b/textures/244.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/245.png b/textures/245.png new file mode 100644 index 0000000000000000000000000000000000000000..ca46b047d9508488e01856392eb2f619a77a985b GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQu3ZIjv*Gk$q5MwKm1i~vM#J} jT+G%hWddR_=L#?cI;~4!DNS?&DrN9=^>bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/246.png b/textures/246.png new file mode 100644 index 0000000000000000000000000000000000000000..92a1c85cabfc66057734a9b99011798d9a9e7035 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQpTPxjv*Gk$q5MwKm1i~LU^3m z4xd?YQ2d6<FVdQ&MBb@0RAT#)&Kwi literal 0 HcmV?d00001 diff --git a/textures/250.png b/textures/250.png new file mode 100644 index 0000000000000000000000000000000000000000..7dfa780e1a8a93a83d39db1bdba2c65491bed4c0 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQmURVjv*Gk$q5MwKm1i~vM#J} sT+B8xQ9#dthexWW(KhRXhXDse)AJ`LVbJa9}CVBlxuk=IdR{|q#N!PC{x JWt~$(695}W9_;`C literal 0 HcmV?d00001 diff --git a/textures/252.png b/textures/252.png new file mode 100644 index 0000000000000000000000000000000000000000..243005a402e54af55ceaa87e944d3813f0bb4692 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQaYY4jv*Gk$v^y+5)u*)^tJan zp6Kc@D!H;Cu-T3GP`1E19}g=z(~K($U4{%#n@=Paa+OX3>SOS9^>bP0l+XkK9WWk8 literal 0 HcmV?d00001 diff --git a/textures/253.png b/textures/253.png new file mode 100644 index 0000000000000000000000000000000000000000..d08f9cf6650039e9af519791a1d38a4c795f6ef8 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQl_3Rjv*Gk$v^yA5)u*=df4YX z?oc^lP+}nMveiIJhAr?#*TM{elVUt}%^rN+fz58bixxUEtlG;Xe~h729cTc9r>mdK II;Vst0G$&ZuK)l5 literal 0 HcmV?d00001 diff --git a/textures/254.png b/textures/254.png new file mode 100644 index 0000000000000000000000000000000000000000..0d97cbf4773cdb302b6bec4b7dd5eb938e19154a GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9R!3HG1hpsgQQfi(qjv*Gk$q5MwKm1i~vMw}8 txM)e3W?Wei*nGk`bP0l+XkKRdp6> literal 0 HcmV?d00001 diff --git a/textures/black_screen.png b/textures/black_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..7c624955ee1a1f211567934f269f59ab3b03e398 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DinK$vl=HlH*|N0PU@3quF1tOt-2?CIhdlHvUJ{6WqJ2L|SY z8UJlp^H)pol_@;gdwtvU+Z*5g?+mdKI;Vst01-|< A`Tzg` literal 0 HcmV?d00001 diff --git a/textures/robot_button.png b/textures/robot_button.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc02938a8b987f8c9efeebfcf63c5f308ba97e0 GIT binary patch literal 974 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WMyDrW(e>JaRrM1|NkFIj)Kt;7=a;>UiKy#=xxpdkH}&M2EM}}%y>M1MG8=m zy~NYkmHh#;6py6Xk*Jv}Kq1Kz*NBqf{Irtt#G+J&g2c?c61}|C5(N`I13g27wOm{W zfQsZjT^vI!{F4=UBtA9;vI-ciVqkI;bvO_Z*dT6T0L+{xnOjwbH5GwM89ZJ6T-G@y GGywq4T{X7= literal 0 HcmV?d00001 diff --git a/textures/white_screen.png b/textures/white_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..14b17beca31e77228ba8ffeeb571af459aef365b GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZA`BpB)|k7xlYrX+877Y2q^y~;*F9%q3^WHAE+ z-w_aIoT|+y4HOjcba4!+xRv~apN(g+NT~*ce~8?N1_g!>Ksg3aS3j3^P6